الصفحةُ البطيئة بطيئةٌ في واحدٍ من ثلاثة مواضع: الخادم قبل أن يرسل بايتًا، أو الشبكةُ بينهما، أو المتصفّح بعد الوصول. ولكلٍّ علاجٌ مختلف، ولا يفيد أيٌّ منها الاثنين الآخرين. والتخمينُ الخاطئ يكلّف عطلةَ أسبوع ولا يغيّر شيئًا.
١. كم من الوقت قبل أوّل بايت
curl -sS -o /dev/null -w 'dns %{time_namelookup} connect %{time_connect} tls %{time_appconnect} ttfb %{time_starttransfer} total %{time_total}\
' https://yourdomain.com/
فزمنُ أوّل بايت فوق ستّمئة مِلّي ثانية تقريبًا مع زمن اتّصالٍ صغير هو الخادمُ يفكّر. ودون مئتين، فالخادمُ ليس مشكلتك مهما بدا إحساسُ الصفحة.
٢. أهو التطبيق أم قاعدة البيانات
# is anything slow enough to be logged
sudo tail -f /var/log/mysql/mysql-slow.log
انظر سجلّ الاستعلامات البطيئة. فاستعلامٌ واحد يأخذ تسعمئة مِلّي ثانية يفسّر مواقع أكثر بكثير ممّا كان أيُّ قدرٍ من التخزين ليفسّره.
٣. كم تزن الصفحة فعلًا
افتح لوحة الشبكة، ورتّب بالحجم، واقرأ الصفوف الخمسة العليا. وفي معظم المواقع تكون كلُّها صورًا — انظر صورٌ أثقل من اللازم. وقراءةُ الشلّال كما ينبغي مشروحةٌ في مقالٍ خاصّ به.
٤. ماذا ينال زائرٌ حقيقي
فاتّصالُ مكتبك ليس هو القياس. اختبِر من حيث يوجد عملاؤك، على اتّصالٍ مخنوق، وعلى هاتفٍ متوسّط.