تقليل أوقات استجابة الخادم

يعرض قسم "الفرص" في تقرير Lighthouse وقت استجابة الخادم، أي الوقت الذي يستغرقه متصفّح المستخدم لتلقّي البايت الأول من محتوى الصفحة بعد تقديم الطلب:

لقطة شاشة لعملية تدقيق "أوقات استجابة الخادم منخفضة" في Lighthouse

تؤثر مدة استجابة الخادم الطويلة في الأداء

تفشل عملية التدقيق هذه عندما ينتظر المتصفّح أكثر من 600 ملّي ثانية ليردّ الخادم على طلب المستند الرئيسي. لا يحب المستخدمون الانتظار طويلاً لتحميل الصفحات. تُعدّ أوقات استجابة الخادم البطيئة أحد الأسباب المحتملة لطول مدة تحميل الصفحة.

عندما ينتقل المستخدمون إلى عنوان URL في متصفّح الويب، يرسل المتصفّح طلب شبكة لجلب هذا المحتوى. يتلقّى الخادم الطلب ويعرض محتوى الصفحة.

قد يحتاج الخادم إلى بذل الكثير من الجهد من أجل عرض صفحة تتضمّن كل المحتوى الذي يريده المستخدمون. على سبيل المثال، إذا كان المستخدمون يتصفّحون سجلّ طلباتهم، على الخادم استرداد سجلّ كل مستخدم من قاعدة بيانات، ثم إدراج هذا المحتوى في الصفحة. ويُعدّ تحسين الخادم لإجراء عمليات من هذا النوع بأسرع ما يمكن إحدى الطرق لتقليل الوقت الذي يقضيه المستخدمون في انتظار تحميل الصفحات.

حتى عندما لا يحتاج الخادم إلى تنفيذ الكثير من العمليات، يمكن أن يؤدي وقت استجابة الشبكة بين العميل والخادم إلى بطء أوقات استجابة الخادم.

كيفية تحسين أوقات استجابة الخادم

تتمثّل الخطوة الأولى لتحسين أوقات استجابة الخادم في تحديد المهام المفاهيمية الأساسية التي يجب أن يكملها الخادم من أجل عرض محتوى الصفحة، ثم قياس المدة التي تستغرقها كل مهمة من هذه المهام. بعد تحديد أطول المهام، ابحث عن طرق لتسريعها.

هناك العديد من الأسباب المحتمَلة لبطء استجابة الخادم، وبالتالي العديد من الطرق المحتمَلة لتحسينها:

  • تحسين منطق تطبيق الخادم لإعداد الصفحات بشكل أسرع إذا كنت تستخدم إطار عمل خادم، قد يتضمّن إطار العمل اقتراحات حول كيفية تنفيذ ذلك.
  • تحسين طريقة طلب الخادم للبيانات من قواعد البيانات، أو الانتقال إلى أنظمة قواعد بيانات أسرع
  • ترقية أجهزة الخادم للحصول على المزيد من الذاكرة أو وحدة المعالجة المركزية

استخدِم شبكة توصيل المحتوى (CDN) لتقليل وقت استجابة الشبكة. ويكون ذلك فعّالاً بشكل خاص إذا كان يمكن تخزين المستند مؤقتًا في عقدة الحافة لشبكة توصيل المحتوى.

اطّلِع على دليل تحسين وقت استجابة أول بايت لمزيد من التفاصيل.

إرشادات خاصة بكل حزمة

Drupal

يمكنك تخفيف حِمل الزيارات باستخدام وحدة تخزين مؤقت واحدة أو أكثر من Drupal، مثل Internal Page Cache وInternal Dynamic Page Cache وBigPipe. ويمكنك دمج هذه الوحدات مع شبكة توصيل المحتوى (CDN) لتحسين وقت الاستجابة بشكل أكبر. ويجب أن تستفيد خوادم الاستضافة من استخدام محرك التخزين المؤقت PHP OPcache. يمكنك أيضًا استخدام أنظمة التخزين المؤقت للذاكرة مثل Redis أو Memcached لتقليل الوقت الذي تستغرقه طلبات قواعد البيانات. وأخيراً، بإمكانك استخدام المظاهر والوحدات ذات الأداء العالي والخوادم الأسرع لتقليل وقت استجابة الخادم.

Magento

استخدِم دمج Varnish للنظام الأساسي Magento.

React

في حال كنت تعرض من جانب الخادم أي مكوّنات React، عليك استخدام renderToNodeStream() أو renderToStaticNodeStream() للسماح للعميل بتلقي أجزاء مختلفة من الترميز ودمجها بدلاً من جميع الأجزاء دفعة واحدة.

WordPress

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

ننصحك بترقية خدمة الاستضافة إلى خدمة مُدارة أو مخصّصة.

الموارد