APC مع FCGId PHP Handler ليس حل جيد

APC مع FCGId PHP Handler ليس حل جيد اذا كان السيرفر يستقبل 200+ ريكويست/ثانية.

لأن FCGId يعتمد في اساسه على توزيع الطلبات على عدة بروسيس، والبروسيس هذه لها وقت معين او عدد طلبات معين وبعدها يتم عمل ترمنيت لها، وهذا يعتمد على الاعدادات في تحديد النسب.

و APC بدورة لا يستخدم كاش مشترك بين هذه البروسيس، بل يقوم بعمل Cache Pool لكل بروسيس، وعند إطلاعك على APC Stats ستفهم هذا بشكل اوضح.

حسناً أين المشكلة في كل هذا؟

المشكلة عندما يكون السيرفر مزدحم باستقبال الطلبات ومعالجتها، وفي هذه الاثناء يتم عمل ترمنيت لاحد البروسيس (ممكن يكون اكثر من واحد بنفس الوقت)، هنا تخسر الكاش الذي كان موجود لهذا البروسيس.

والبروسيس الجديد الذي تم عمله يكون خالي من الكاش، وهنا يحتاج PHP Engine لإعادة تفسير ملفات PHP من جديد.

هنا يكمن عنق الزجاجة، حيث ان هذا الامر سوف يسبب ارتفاع اللود فجئة تخيل 100+ ريكويست فجئة على السيرفر وملفات PHP تحتاج لاعادة تفسير!

حالياً لم اجد حل فعلي لهذه المشكلة، جربت الكثير من الافكار وكلها فشلت. لكن الي متأكد منه ان الموديول هذا يحتاج لاعادة تفكير وتقييم لهذا السلوك، فلا اجد الاسلوب او الطريقة الحالية صحيحة في التعامل مع الكاش.

بريطاني من اصول عربية، مقيم في انجلترا. مدون منذ اكثر من 15 سنة، ومحب للقراءة والبحث. طالب في كلية الهندسة تخصص كهرباء والكترونيات. وبشكل جانبي اقوم بصناعة الموسيقى، وانا متخصص بشكل ادق في مجال هندسة الماسترنج والمكساج للاعمال الموسيقية والفنية. وقبلها وفي السنوات السابقة بين ٢٠٠٥ و ٢٠١٣ ركزت في مجال امن المعلومات والادارة والاوتوميشين لانظمة التشغيل والسيرفرات، وعملت مع مجموعة متنوعة من المواقع العربية، وخاصة الصحف الالكترونية والمواقع الحكومية في منطقة الخليج، من حيث تهيئة وحماية وادارة البنية التحتية لمواقعهم الالكترونية.

‎التعليقات‫:‬ 1 On APC مع FCGId PHP Handler ليس حل جيد

شاركني برأيك