الصفحات النموذجية والأبطأ، جنبًا إلى جنب.
الصفحة النموذجية (p50) وأبطأ 5% من الصفحات (p95)، قِيست من طرف إلى طرف انطلاقًا من بلد المتسوّقين، إلى جانب زمن الخادم ونسبة النجاح والذاكرة من الاختبار نفسه.

اختبرنا متجر أزياء فعلي تحت الحمل على خادم 2 vCPU خاص به، وأرسلنا مسارات تسوّق حقيقية من بلد كل متسوّق. إليك ما حقّقه المتجر، وكيف قِسناه، ولماذا يظل سريعاً مع نمو أعمالك.

40 متسوقًا في الوقت نفسه على 2 vCPU: ≈0.4 s زمن معتاد للصفحة، و83–89 ms زمن الخادم، و99.97% دون أخطاء.
شارك التطبيق وPostgreSQL وRedis وعمليات الخلفية خادماً واحداً بـ 2 vCPU وسعة 3.8 GB من RAM.
استغرقت الصفحة النموذجية 0.24–0.52 s، وظلت أبطأ 5% خلال 1.5 s، مع بقاء استهلاك CPU عند النصف أو أقل.
الصفحة النموذجية نحو 0.4 s، واستهلاك CPU عند 58–83% مع بقاء هامش تشغيلي.
بمعدل 12–14 طلباً في الثانية، يواكب الخادم الصغير نفسه ساعة تسوّق مزدحمة.
بقي استهلاك حاوية الويب عند 225–262 MiB طوال الاختبار، مع أكثر من 2.4 GB من RAM متاحة.
تم القياد لمتسوّق مسجّل الدخول من دون ذاكرة تخزين مؤقت للصفحات، وهي أصعب الحالات التي يواجهها الخادم.
استغرق البحث عن المنتجات نحو 170 ms من زمن الخادم على الخادم الصغير نفسه.
الثقة بالأرقام تتطلب ظروف اختبار تعرفها أنت، لذلك قِسنا الأداء بالطريقة التي يصل بها متسوّقوك فعليًا.
كتالوج أزياء حقيقي ومسار شراء كامل على خادم بمواصفات 2 vCPU و3.8 GB، مع تشغيل كل شيء على جهاز واحد.
70% من الزوار الجدد، تصفّحوا من صفحة إلى أربع صفحات لكل زائر، مع البحث وإضافة المنتجات إلى السلة وقراءة تستغرق 5–15 seconds بين كل نقرتين.
أرسل k6 الزيارات من بلد المتسوّقين مع تفعيل gzip، وحصل كل متسوّق افتراضي على جلسة مستقلة.
شملت أزمنة الصفحات زمن الشبكة وTLS، بينما خُصص زمن الخادم من دون ذاكرة تخزين مؤقت للصفحات، باستخدام PHP-FPM عادي مع OPcache.
السرعة ليست نتيجة ترقية خادم نطلب منك شرائها؛ إنها ناتج عن طريقة بناء التطبيق وفحصه.
الصفحة النموذجية (p50) وأبطأ 5% من الصفحات (p95)، قِيست من طرف إلى طرف انطلاقًا من بلد المتسوّقين، إلى جانب زمن الخادم ونسبة النجاح والذاكرة من الاختبار نفسه.

تُعرض كل صفحة على الخادم وتصبح قابلة للقراءة قبل تشغيل أي سكربت. أما البيانات المشتركة بين جميع الزوار فتُسلَّم كملفات مخزّنة مؤقتًا، ولا تعمل الوحدات إلا عند الحاجة إليها في الطلب.

هذه الأرقام مبنية على الإصدار القياسي من PHP-FPM مع OPcache. من دون Octane أو Swoole أو FrankenPHP أو JIT، تحصل على الأداء نفسه على أي خادم Linux مع Docker، بلا أي بنية تشغيل غريبة تحتاج إلى صيانة.
قبل بناء كل إصدار، ننفّذ تحليلًا ساكنًا وأكثر من 14,000 اختبار آلي، حتى لا تبطئ ميزة جديدة متجرك أو تقلّل موثوقيته دون أن تنتبه.

يعتمد التطبيق على CPU ولا يحتفظ بأي حالة محلية، لذلك تتوسع سعته مع عدد الأنوية: انتقل إلى 4 vCPU، ثم ضع قاعدة البيانات في خادم مستقل، ثم أضف خوادم التطبيق خلف موازن تحميل.

نعم، على خادم 2 vCPU مشابه ومقرّب من جمهورك. أزمنة الصفحات تشمل الشبكة، لذا فموقع الاستضافة بالنسبة إلى عملائك لا يقل أهمية عن حجم الخادم.
أشخاص يتصفحون المتجر بنشاط في الوقت نفسه، ويقرأ كل منهم لمدة 5–15 ثانية بين النقرات. ومتجر يتزامن فيه 40 متسوقًا يخدم آلاف الزوار يوميًا.
ابدأ بالانتقال إلى 4 vCPU، ثم انقل قاعدة البيانات إلى خادم مستقل، ثم أضف خوادم التطبيق خلف موازن تحميل. يبقى البرنامج والبيانات كما هما في كل مرحلة.
نعم. تُخزَّن صفحات الزوار مؤقتًا حسب النطاق واللغة، فلا تحتاج الزيارات المتكررة إلى قاعدة البيانات، ويمكنك إضافة CDN أمامها. قِيست أزمنة الخادم في هذه الصفحة من دون تخزين مؤقت للصفحات.
لست بحاجة إلى أيٍّ منها. يحافظ PHP-FPM القياسي على بساطة الاستضافة وسهولة التنبؤ بالأداء، والتطبيق خفيف بما يكفي ليكون سريعًا من دون بيئة تشغيل خاصة.
أنشئ باقتك، وانشر المنصة باستخدام Docker، واختبر سرعة الأداء مع كتالوجك الخاص.