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 ليس حل جيد

اترك رد