مميزات / فائدة php fpm pool مواقع اسرع | حماية اعلي | لود اقل advantages
advantages to increases website speed - How Fast is WordPress with PHP-FPM 7
What is PHP-FPM and what are the benefits?
PHP-FPM: The Future of PHP Handling



هناك أوقات يكون فيها عدد الزيارات كبيرًا على موقع الويب المحدد ، وحيث قد يتعذر على معالجات PHP مثل mod_PHP معالجة طلبات المستخدمين بكفاءة. هنا ، دور PHP-FastCGI Process Manager (PHP-FPM) أساسي. إنه معالج متقدم وفعال للغاية. في الواقع ، PHP FPM أكثر فعالية بـ 350 مرة من معالجات PHP الأخرى لأنه يستخدم نهجًا حديثًا موجهًا نحو العملية.

نحصل عادةً على طلبات من عملائنا لزيادة سرعة الموقع باستخدام PHP FPM كجزء من خدمات إدارة الخادم الخاصة بنا. اليوم ، سنرى كيف يناقش مهندسو الدعم لدينا فوائد PHP FPM وكيف يعززون أداء الموقع. لماذا PHP FPM, دعونا أولاً نلقي نظرة سريعة على ميزات PHP FPM.

PHP FPM (مدير عمليات FastCGI) هو بديل لتنفيذ PHP التقليدي.

في الأساس ، فإنه يعتمد على مفهوم إدارة تجمع. كل مجموعة من مجموعات PHP-FPM تعمل كنسخة كاملة من PHP ، لها تكوين وحدود وقيود خاصة بها. تقدم مجموعة عمليات PHP ، والتي تسمى أيضًا العمال workers ، طلبات لتنفيذ ملفات PHP من ملفات الويب. مرة أخرى ، يمكن تشغيل FPM تجمعات منفصلة متعددة ، كل منها له هويته الخاصة. بشكل افتراضي ، يقوم mod_PHP بإغلاق العمليات وتعطيل أداء موقع الويب. هذا هو العيب الرئيسي لمواقع PHP التقليدية. ولكن ، يمكن PHP FPM بسهولة التغلب على هذه المشكلة.

فوائد PHP FPM

هنا ، نلقي نظرة على فوائد PHP FPM وكيف يساعد ذلك في تحسين أداء الموقع.
بعض الفوائد التي يراها مهندسو الدعم لدينا في PHP FPM مدرجة أدناه.

1. طريقة جديدة لمعالجة العملية new way of process handling

يوفر PHP-FPM طريقة جديدة لمعالجة الطلبات. يفعل ذلك عن طريق الحفاظ على حمامات السباحة pools ، يسمى ايضا العمال workers ، التي يمكنها الاستجابة لطلبات PHP. عندما يكون لدى خادم الويب طلب ، يقوم اتصال FastCGI بإعادة توجيهه إلى خدمة PHP-FPM. يقوم PHP-FPM بعد ذلك بتجميع وتنفيذ برنامج PHP السركبت ، وإرسال الإخراج مرة أخرى إلى خادم الويب وينتظر الطلبات الجديدة. لذلك ، تسمح معالجة السركبت لـ PHP بهذه الطريقة بأداء معالجة أعلى بكثير. في الواقع ، فإنه يعجل ويسرع تحميل الموقع.

2. شفرة التشغيل التخزين المؤقت Opcode caching

PHP FPM لديه أيضًا القدرة على استخدام تخزين شفرة التشغيل المؤقت للبرامج النصية لـ PHP. يمكن أن تخدم حركة مرور أعلى عن طريق تمكين التخزين المؤقت caching شفرة التشغيل. عندما يتم تقديم طلب سكربت PHP ، يتحقق PHP-FPM بسرعة من النسخ المخزنة مؤقتًا ويعالج الطلب.هذه الطريقة توفر الوقت وتحسن كفاءة الموارد.

3. لا تفرط فى اللود Do not overload

PHP-FPM أسرع من الأساليب التقليدية القائمة على CGI ، مثل SUPHP ، في بيئات PHP متعددة المستخدمين. لا يؤدي إلى زيادة تحميل ذاكرة نظام مع PHP من عمليات Apache مثل ruid2 + php-dso. هذه الطريقة مفيدة عندما يتلقى المستخدم حركة مرور إضافية overload تتطلب موارد لمعالجتها. هذه الميزة هي نعمة عندما يتلقى موقع الويب الخاص بك زيادة في حركة المرور extra traffic بعد حملة تسويقية معينة. تذكر أن المواقع الشائعة تستفيد من هذه الميزة خلال أي من المناسبات الخاصة بها.


4. أمن / حماية إضافية Additional security

وبالمثل ، يوفر PHP-FPM أمانًا إضافيًا. لتحقيق ذلك ، يجب أن يحتوي ملف تهيئة PHP الرئيسي للخادم على القيم التالية مضبوطة على true:
كود:
opcache.validate_root = true
opcache.validate_permission = true
توفر هذه الإعدادات طبقة إضافية من القيود التي يمكن أن تمنع المستخدمين من الوصول إلى ذاكرة التخزين المؤقت لشفرات opcode caches المستخدمين الآخرين. تنطبق هذه المخاوف في المقام الأول على بيئات استضافة متعددة المستأجرين تم تكوينها لتوفير منصة آمنة مع PHP-FPM.

5. اقصى تحكم فى الاعدادات للغاية Highly configurable

علاوة على ذلك ، يوفر PHP-FPM خيارات تكوين أكثر من معالجات PHP الأخرى. يمكن ضبط خيارات التكوين هذه لكل موقع على الخادم. يوفر التكوين الصحيح لـ PHP-FPM أفضل أداء لزوار الموقع ، كما يضمن بيئة آمنة ومأمونة. على سبيل المثال ، يمكننا ضبط إعدادات PHP-FPM في واجهة إدارة MultiPHP من WHM بالانتقال إلى WHM> الصفحة الرئيسية> البرمجيات> MultiPHP Manager. هكذا تبدو.



Here’s an example of PHP FPM status on one of the servers that we manage:

كود:
[root@xx ~]# service ea-php70-php-fpm.service status
Redirecting to /bin/systemctl status ea-php70-php-fpm.service
● ea-php70-php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/ea-php70-php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-01-09 13:59:50 xxx; 2h 40min ago
 Main PID: 203156 (php-fpm)
   Status: "Processes active: 0, idle: 0, Requests: 16, slow: 0, Traffic: 0req/sec"
   CGroup: /system.slice/ea-php70-php-fpm.service
           └─203156 php-fpm: master process (/opt/cpanel/ea-php70/root/etc/php-fpm.conf)