صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 17

الموضوع: درس (2) مسرعات ال php ما هي وظيفتها ؟ PHP accelerator

  1. #1

    درس (2) مسرعات ال php ما هي وظيفتها ؟ PHP accelerator



    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته

    هل ال php بطيئة أو تحتاج لمسرع ؟
    وما هي وظيفت تلك المسرعات او المخزنات ( لا أدري الغسم الأنسب لها )

    بعدما قمت بالإطلاع علي الدرس السابق لدورة حياة الكويري من الولادة حتي الممات
    http://www.swalif.net/softs/swalif45/softs260801/

    بالطبع هناك الكثير من التسائلات التي وردت لذهنك فلما لا نسردها سوياً ؟

    إذا كانت تعليمة السكول دائما ما تنقل محتواها للذاكرة فلما مع كل زائر ننقل هذا المحتوي من جديد لخانة جديدة خاصة به فقط .. ألا يعد ذلك إستهلاك زائد للذاكرة ؟

    حينما تقوم بعمل include لملف به متغير يحمل مصفوفة وليكن ملف اللغة
    يتم تحميل المصفوفة بقيمتها للذاكرة

    أليس من الثقل التحميل والتفريغ الدائم مع كل زائر

    هنا يأتي دور المسرعات
    PHP accelerator


    فما هي وظيفتها ؟

    تعمل مسرعات ال php بنظام التخزين أو ال cache حيث أنها توفر عملية النقل والتفريغ للذاكرة بشكل دائما لتحفظ البيانات التي يحدث عليها ضغط أو طلب كثير overhead والتي يتم بشكل دائم شحنها وتفريغها مع كل طلب request
    توفر لك تلك المسرعات دائما بعد تركيبها كإضافة لل php extension إمكانية تحديد حجم من الذاكرة لها فقط لتقوم بإستخدام ذلك الحجم المخصص لها بحفظ تلك البيانات لديه وقذفها حينما يتم علم request للمتصفح ومنع العمليات السابقة لها

    يؤدي ذلك بالطبع للمميزات التالية

    1-تقليل الحمل الزائد علي المعالج server load
    2- يقلل أيضا الجانب المستهلك من الذاكرة
    3- يزيد سرعة ال php في التنفيذ والعمل بما نسبته من 2 إلي 10 أضعاف طبقاً للتطبيق script المبرمج ومدي حاجته للكاش ( ذلك بدون أي تدخل من المبرمج ودرسنا اليوم ليس فيه تدخل من قبلنا )


    نظرة علي مسرعات ال php

    APC
    PECL :: Package :: APC

    eAccelerator
    eAccelerator - Trac

    XCache
    XCache

    Zend Optimizer ( مغلق المصدر )
    Zend Guard - Zend Optimizer Overview - Zend.com

    Turck MMCache ( هو أصل ال eAccelerator ولم يعد العمل مستمر عليه )
    Turck MMCache for PHP - Turck Software St. Petersburg

    شرح تركيب ال xcache

    إنطلق فوراً لمستضيفك ولا تجعله يتردد في تركيب أحد تلك المسرعات فتركيبه لا يأخذ أكثر من ثواني ويقلل الحمل علي السيرفر بشكل رائع
    وعن تجربة شخصية مع ال xcache قل إستهلاك الرامات علي سيرفري من 58% تقريبا لما دون ال 40% هذا مع تقليل اللود بالطبع :nice:

    دروسنا القادمة سنستخدم فيها ال xcache لهذا قم بتركيبه علي سيرفرك أو تأكد من وجوده أو ركبه علي سيرفرك الشخصي علي حاسوبك لتكن مستعد للدرس بإذن الله

    أفتح الشل لديك
    أدخل للهوم

    كود:
    cd /home
    أنشئ مجلد وليكن test

    كود:
    mkdir text
    أدخل بداخله

    كود:
    cd test
    أسحب ال xcache

    كود:
    wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz
    فك الضغط

    كود:
    tar -zxf xcache-1.2.2.tar.gz
    أدخل لمجلده

    كود:
    cd xcache-1.2.2
    نفذ الأوامر التالية كل علي حدي ( نفذ واحد ثم أنتظر الإنتهاء وهكذا )

    كود:
    phpize
    ./configure --enable-xcache
    make
    su
    make install
    الأن لننقل ملف الإعدادات لإعدادات ال php.ini
    يجب أن تعلم ما هو مسار ملف ال php.ini لديك وسأضعه هنا حسب اللي يكون لدي من لديه cpanel
    كود:
    cat xcache.ini >> /usr/local/lib/php.ini
    الأن نريد تحديد مسار تركيب ال xcache ولتحديده نضع التالي

    كود:
    cd /usr/local/lib/php/extensions/
    ستجد مجلد بالداخل اسمه no-debug-non-zts-xxx طبعا بدل ال xxx تجد أرقام
    أنسخ إسم هذا المجلد او اكتبه بشكل جيد لاننا نحتاجه بشدة

    الأن أدخل ملف إعدادات ال php.ini لتقم بتحرير الإعدادات لل xcache

    كود:
    pico /usr/local/lib/php.ini
    أنزل للأسفل ستجد الإعدادات الكاملة
    أولاً يجب ضبط المسار
    ستجد المسار وضع هكذا

    كود:
    zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so
    طبعا المطلوب منك وضع إسم المجلد non-debug-non-zts-xxx الصحيح اللي نسخته منذ قليل :looking:

    الأن مع الإعدادات

    كود:
    xcache.admin.enable_auth = On
    خليها off حالياً لأننا نريد الإستفادة من شئ ما وسأشرح لكم فيما بعد كيف تضع حماية علي عرض بيانات الأدمين

    كود:
    xcache.size  =                0M
    الحجم اللي تريد تخصيصه من الذاكرة للكاش طبعا في نظامين للكاش نظام للمتغيرات ونظام للملفات تقريباً ( لست متذكر )
    هذا الخاص بالملفات دعنا نضع فيه 32

    كود:
    xcache.size  =                32M
    الأن ضع في هذا الغيار عدد أنوية البروسيسور لديك
    كود:
    xcache.count =                 1
    لو كان معالج ثنائي النواة ضع 2 ولو كان رباعي ضع 4 ولو كان معالجين رباعي ضع 8 إلخ
    ولمعرفة عدد الأنوية كان لدي أمر شيل لمعرفة ذلك ولكن للأسف راح مني :shy:
    أسأل مستضيفك ( المعالجات التي يكون فيها هايبرثريدنج تظهر فيها ضعف الأنوية في لوحة التحكم يعني يكون ثنائي ويظهر في ال whm أنه 4 أنوية )

    دع هذه كما هي
    كود:
    xcache.slots =                8K
    خاصة بحجم كل سلوت في الذاكرة

    أجعل هذه 7200

    كود:
    xcache.ttl   =                 7200
    وهذه 300
    كود:
    xcache.gc_interval =           300
    كرر العملية مع المتغيرات

    كود:
    xcache.var_size  =            32M
    xcache.var_count =             1
    xcache.var_slots =            8K
    xcache.var_ttl   =             7200
    xcache.var_maxttl   =          14400
    xcache.var_gc_interval =     300
    الأن أحفظ العمل
    ctrl + x
    y




    أسئلة

    كيف أعلم أنه يعمل بنجاح ؟

    طبق في الشل

    php -v
    يظهر لديك في ال extension المركبة ال xcache مع إصدارته
    يظهر بالطبع مع الأخرين من الأين كيوب والزيند وغيره

    ظهر لي خطأ

    - إما أن المسار لملف التشغيل غير صحيح وعليك تحرير المسار ووضع المسار الصحيح
    - أو أنك تستخدم مسرع الزيند فالكثير يركبوه ويجب حذفه أولاً قبل تركيب ال xcache لحدوث تعارض
    - يجب أن يكون سطر التشغيل لل xcache

    كود:
    zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-xxx/xcache.so

    موجود أول سطر في ملف php.ini بعد الرأس [zend]
    ستجد عندك رؤوس في الصفحة أخرها الرأس zend ستجد أسفلها خيارات ال xcache تحت الرأس [xcache-common]

    فلو كان [zend] مركب فيه حاجات خلي سطر التشغيل أول شئ فيه

    الأن وللضرورة سنحتاج مجلد الأدمين وهو يظهر لنا كل ما هو مخزن في الذاكرة في صفحات php رائعة
    ستجد المجلد موجود في المسار السابق

    /home/test/xcache-1.2.2

    بإسم admin
    أنقله لأي مسار لحساب لديك يكون صالح للفتح من خلال المتصفح يعني لو كان دومينك

    Example Web Page
    واليوزر له
    example

    أنقل المجلد هكذا
    كود:
    mv /home/test/xcache-1.2.2/admin /home/example/public_html/test/
    ستجد لديك اللوحة يمكن فتحها بالرابط التالي

    http://www.example.com/test/admin/index.php

    أستمتع بما في اللوحة
    يجب أن تري مع الوقت هناك أشياء تخزن من ملفات ومتغيرات ويمكنك الإطلاع علي قيمتها

    كيف أحذف ال xcache ؟

    أدخل المسار

    كود:
    zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20060613/xcache.so
    أحذف الملف xcache.so

    أدخل ملف الإعدادات php.ini
    أحذف كل الأسطر الخاصة بإعدادات ال xcache



    درسنا القادم بإذن الله كيف نخزن نحن يدوياً بيانات مع هذه البيانات ونحسن برمجيتنا :nice:

    دعواتكم





    __________________
    السيف أصدق أنباء من الكتب


  2. #2


    مقارنة بين عدة مسرعات وبين ال php بدونها

    PHP Accelerators : APC vs Zend vs XCache with Zend Framework - Mike Willbanks : getting into the mind of a php developer.

    طبعاً واضح بشدة فرق الأداء اللي يصل لأضعاف أحياناً





    __________________
    السيف أصدق أنباء من الكتب

  3. #3
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    أعتقد أنى سمعت أن APC سيكون بشكل افتراضي في النسخة القادمة من PHP لا اعلم أي نسخة بالتحديد , لكن تأخر وضعها بشكل افتراضي لكون المسرعات تقنية جديده وتحتاج الى بعض الوقت للتجربه قبل ان تعتمد في اصدارات PHP بشكل رسمي , ايضا اعتقد ان توزيعة ubuntu تركب المسرع APC بشكل افتراضي عندما يتم تركيب PHP .





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  4. #4


    درس جميل اخي المجروح

    تقبل تحياتي





    __________________
    حسابي فيسبوك
    https://www.facebook.com/ahmedo.vip/

    المبرمج
    http://www.almprmg.com/

    شركة اوريكو لتكنولوجيا المعلومات - استضافة وبرمجة المواقع | خدمات السوشيال ميديا
    http://www.orico.com.eg

  5. #5


    أعتقد أنى سمعت أن APC سيكون بشكل افتراضي في النسخة القادمة من PHP لا اعلم أي نسخة بالتحديد , لكن تأخر وضعها بشكل افتراضي لكون المسرعات تقنية جديده وتحتاج الى بعض الوقت للتجربه قبل ان تعتمد في اصدارات PHP بشكل رسمي , ايضا اعتقد ان توزيعة ubuntu تركب المسرع APC بشكل افتراضي عندما يتم تركيب PHP .
    سيكون أمر أكثر من رائع الصراحة
    ال php صارت تتطور بسرعة ومع كل إصدارة نجد المكتبات التي يتم دعمها بشكل رسمي وهذا أمر رائع
    أعتقد لو تم ذلك من ال php سنجد مع أول ترقية مواقع الإنترنت كلها يزداد فيها الضجة حول زيادة سرعة مواقعهم

    أسعدك الله أخي ضيف كما أسعدتني بهذا الخبر

    بالمناسبة نسيت شرح تركيب المسرع علي ويندوز وسأشرحه بإذن الله في أقرب فرصة لتقوموا بتركيبه علي سيرفراتكم الشخصية ونبدأ الشغل الجاد :deal:

    دروسي القادمة بإذن الله ستكون قمة في التخصص فأستعدوا





    __________________
    السيف أصدق أنباء من الكتب

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    جزاك الله خيرا اخي الكريم

    انا مستني تركيبة علي السيرفر الويندوز
    جزاك الله الف خيرا اخي ان شاء الله





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  7. #7
    عضو فعال
    تاريخ التسجيل
    Sep 2006
    المشاركات
    1,051


    بارك الله فيك على الدروس الطيبة و اتمنى ان استفيد منها الايام القادمة و انا على ثقة من ذلك
    فكم نحن بحاجة الى مثل هذه الدروس






  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    597


    يعطيك 1000000 عافية

    مواضيع في قمة الروعه






  9. #9
    عضو نشيط
    تاريخ التسجيل
    Mar 2009
    المشاركات
    104


    اخي المجروح موضوع رائع جدا

    ولكن كيف اطبق شرحك على localhost بحيث انا استخدم سيرفر 1.2 camel

    هل يمكن الشرح لتطبيق الكاش على localhost






  10. #10
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    شرح رائع بمعنى الكلمة
    بارك الله فيك أخي المجروح





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  11. #11


    اخي المجروح موضوع رائع جدا

    ولكن كيف اطبق شرحك على localhost بحيث انا استخدم سيرفر 1.2 camel

    هل يمكن الشرح لتطبيق الكاش على localhost
    سأشرح تركيبه علي الويندوز
    ومعذرة علي التأخير فوالله وقتي ضيق جدا بسبب عدة سفريات وظروف خاصة





    __________________
    السيف أصدق أنباء من الكتب

  12. #12


    شكراً لك أخي الكريم "المجروح" درس مميز

    تحياتي ,,





    __________________
    ahmed sliman .. Web Programmer
    ahmeds _ link @ hotmail . com

  13. #13
    عضو سوبر نشيط
    تاريخ التسجيل
    Oct 2003
    المشاركات
    718


    بارك الله فيك ...





    __________________
    أخي [ محمد الفارس ] في كل رد اقول .. شكراً لك ...
    البانر.نت .. نصنع من الافكار دليل

  14. #14


    السلام عليكم ورحمة الله وبركاتة


    كيف أعرف ان xcache
    موجودة في السرفر مسبقاً أو لا

    تحياتي ...






  15. #15
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,759


    جزاك الله كل خير





    __________________
    FaceBook Application Developer
    تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
    مشروعى داخل معرض الاتصالات
    لمراسلتي إضغط هنا
    سبحان الله وبحمده سبحان الله العظيم





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض