أداء webman

عملية معالجة الطلب في الإطار التقليدي

  1. يستقبل nginx/apache الطلب
  2. يقوم nginx/apache بتمرير الطلب إلى php-fpm
  3. يقوم php-fpm بتهيئة البيئة، مثل إنشاء قائمة المتغيرات
  4. يستدعي php-fpm RINIT لكل من الإضافات/الوحدات المختلفة
  5. يقوم php-fpm بقراءة ملفات php من القرص (يمكن تجنب ذلك باستخدام opcache)
  6. يقوم php-fpm بتحليل الصياغة، وتحليل النحو، وتجميعها إلى opcode (يمكن تجنب ذلك باستخدام opcache)
  7. ينفذ php-fpm opcode بما في ذلك 8.9.10.11
  8. يقوم الإطار بتهيئة نفسه، مثل إنشاء جميع الفئات، بما في ذلك الحاويات، ووحدات التحكم، والمسارات، والوسائط
  9. يتصل الإطار بقاعدة البيانات ويتحقق من الأذونات، ويتصل بـ redis
  10. ينفذ الإطار منطق الأعمال
  11. يغلق الإطار اتصالات قواعد البيانات و redis
  12. يقوم php-fpm بتحرير الموارد، وتدمير جميع تعريفات الفئات، والنسخ، وتدمير جدول الرموز، إلخ
  13. يستدعي php-fpm ترتيبياً طرق RSHUTDOWN لكل من الإضافات/الوحدات المختلفة
  14. يقوم php-fpm بإعادة توجيه النتيجة إلى nginx/apache
  15. يعيد nginx/apache النتيجة إلى العميل

عملية معالجة الطلب في webman

  1. يستقبل الإطار الطلب
  2. ينفذ الإطار منطق الأعمال (opcode bytecode)
  3. يعيد الإطار النتيجة إلى العميل

لا، في غياب عكس nginx، يتمتع الإطار بهذه الخطوات الثلاث فقط. يمكن القول إن هذا هو أقصى ما يمكن أن يحققه إطار PHP، مما يجعل أداء webman يتجاوز عدة مرات أو حتى عشرات المرات من الإطارات التقليدية.

المزيد من المرجع اختبار الضغط