سوالف اندرويد




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الوسوم:

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو مميز
#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% هذا مع تقليل اللود بالطبع

دروسنا القادمة سنستخدم فيها ال 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 الصحيح اللي نسخته منذ قليل

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

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

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

كود:
xcache.size  =                32M
الأن ضع في هذا الغيار عدد أنوية البروسيسور لديك
كود:
xcache.count =                 1
لو كان معالج ثنائي النواة ضع 2 ولو كان رباعي ضع 4 ولو كان معالجين رباعي ضع 8 إلخ
ولمعرفة عدد الأنوية كان لدي أمر شيل لمعرفة ذلك ولكن للأسف راح مني
أسأل مستضيفك ( المعالجات التي يكون فيها هايبرثريدنج تظهر فيها ضعف الأنوية في لوحة التحكم يعني يكون ثنائي ويظهر في ال 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



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

دعواتكم






__________________
السيف أصدق أنباء من الكتب
محب الله ورسوله is offline   قديم 17-04-2009, 02:26 AM
الرد مع إقتباس
عضو مميز
#2  

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

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

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






__________________
السيف أصدق أنباء من الكتب
محب الله ورسوله is offline   قديم 17-04-2009, 02:33 AM
الرد مع إقتباس
مشرف قسم PHP
#3  

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






__________________
ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
الاتصال: daif@daif.net او جوال: 0556639884
الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .
daif is offline   قديم 17-04-2009, 05:11 AM
الرد مع إقتباس
عضو فعال جدا
#4  

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

تقبل تحياتي






__________________
مجتمع الفيبولتين العربي ( موقع عربي دعم للنسخة vBulletin باللغه العربية, متخصص في حل مشاكل - تحميل اضافات النسخة - هاكات مفيدة - دعم فني مجاني ),
طريق الاتصال بي :
vBulletin-arabic - twitter - facebook - Googleplus
ahmed-samara is offline   قديم 17-04-2009, 05:34 AM
الرد مع إقتباس
عضو مميز
#5  

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

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

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

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






__________________
السيف أصدق أنباء من الكتب
محب الله ورسوله is offline   قديم 17-04-2009, 05:44 AM
الرد مع إقتباس
عضو فعال
#6  

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

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






__________________
ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
لطلب البرمجة فقط
helal-egypt@hotmail.com
محمدهلال is offline   قديم 17-04-2009, 08:07 AM
الرد مع إقتباس
عضو فعال
#7  

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






2end is online now   قديم 17-04-2009, 08:54 AM
الرد مع إقتباس
عضو سوبر نشيط
#8  

يعطيك 1000000 عافية

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






Jo Live is offline   قديم 17-04-2009, 03:11 PM
الرد مع إقتباس
عضو نشيط
#9  

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

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

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






love php is offline   قديم 19-04-2009, 06:16 PM
الرد مع إقتباس
عضو سوبر نشيط
#10  

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






__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
مهندس مصرى is offline   قديم 20-04-2009, 04:37 AM
الرد مع إقتباس
عضو مميز
#11  

إقتباس:
المشاركة الأصلية بواسطة love php مشاهدة مشاركة
اخي المجروح موضوع رائع جدا

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

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






__________________
السيف أصدق أنباء من الكتب
محب الله ورسوله is offline   قديم 21-04-2009, 04:15 AM
الرد مع إقتباس
عضو نشيط
#12  

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

تحياتي ,,






__________________
ahmed sliman .. Web Programmer
ahmeds _ link @ hotmail . com
ahmeds_link is offline   قديم 22-04-2009, 03:59 PM
الرد مع إقتباس
مشرف سوالف عامة و خدمات البيع و الشراء و الاعلانات التجارية
#13  

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






__________________
أخي [ محمد الفارس ] في كل رد اقول .. شكراً لك ...
البانر.نت .. نصنع من الافكار دليل
albanner is offline   قديم 29-04-2009, 08:06 PM
الرد مع إقتباس
عضو فعال جدا
#14  

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


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

تحياتي ...






البـ أحمد ـرنس is offline   قديم 17-06-2009, 08:44 PM
الرد مع إقتباس
عضو فعال
#15  

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






__________________
FaceBook Application Developer
تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
مشروعى داخل معرض الاتصالات
لمراسلتي إضغط هنا
سبحان الله وبحمده سبحان الله العظيم
edafa.info is offline   قديم 20-06-2009, 05:36 AM
الرد مع إقتباس
عضو فعال
#16  

بسم الله الرحمن الرحيم

وعليكم السلام ورحمة الله وبركاته..
موضوع جميل جدا..
بارك الله فيك..

تحياتي






PHP-Master02 is offline   قديم 21-06-2009, 07:21 PM
الرد مع إقتباس
عضو سوبر نشيط
#17  

للتركيب على ubuntu
كود:
sudo apt-get install php5-xcache
شكراً لكاتب الموضوع






__________________
حازم خالد
اناشيد مسلم تيوب
المدونة
السيرة الذاتية
hazem.khaled (at) gmail.com
www.تيوب.com
mezoo is offline   قديم 23-06-2009, 04:14 AM
الرد مع إقتباس
الرد على الموضوع



أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
درس حماية المنتدى و تغيير config.php و class_core.php دون حدوث اي مشاكل حمايه الهاكات والإضافات 9 07-03-2009 07:29 PM
درس في المصفوفات PHP Abosaleh_2003 PHP 17 19-07-2008 10:01 AM
درس PHP : المتغيرات sos4all.com PHP 0 09-10-2002 11:48 AM
درس آخر في php أبو ماجد الصارم الويب والويب 2.0 والـ Semantic Web 2 08-10-2002 05:12 PM
درس جديد في php أبو ماجد الصارم الويب والويب 2.0 والـ Semantic Web 5 29-09-2002 06:02 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 08:14 PM.