Açık sayfalar hızlı, yönetim yavaşsa genelde aynı şeyi iki kez ölçmüyorsunuzdur. Açık sayfalar bir önbellekten sunulur; yönetim ise her tıklamada uygulamanızı çalıştırır. Sitenin gerçek hızı, yönetimin hızıdır.
Farkın önbellek olduğunu doğrulayın
curl -sSI https://yourdomain.com/ | grep -i x-cache
curl -sSI https://yourdomain.com/admin/ -H 'Cookie: session=...' | grep -i x-cache
Birincide HIT, ikincide BYPASS - açıklamanın tamamı budur. Bakınız sayfa önbelleği ve size ne zaman yalan söylediği.
Sonra uygulamanın gerçekte ne yaptığını bulun
- Sorgular. Yönetimdeki bir liste görünümü, satır başına açık bir sayfadan çok daha fazlasını yükler. Bakınız N+1 sorguları.
- Sayfa yüklenirken dışarıya yapılan bir çağrı - bir lisans denetimi, bir güncelleme denetimi, bir akış - ki panel orada bir başkasının sunucusunu bekler.
- Büyümüş bir kayıt ya da etkinlik tablosu ve artık her sayfada sayılıyor olması.
- Yalnızca yönetime özgü onlarca betik - ki bu, sunucu değil tarayıcı sorunudur.
Paylaşımı ölçün
curl -sS -o /dev/null -w 'ttfb %{time_starttransfer} total %{time_total}\
' \
-H 'Cookie: session=...' https://yourdomain.com/admin/
İlk bayta kadar geçen sürenin yüksek olması sunucuyu, düşük olup toplamın yavaş kalması ise tarayıcıyı gösterir. O tek satır nereye bakacağınıza karar verir ve bir saniye sürer.
Her zamanki suçlu
SELECT COUNT(*) FROM wp_options WHERE autoload = 'yes';
SELECT option_name, LENGTH(option_value) FROM wp_options
WHERE autoload = 'yes' ORDER BY 2 DESC LIMIT 10;
Kendiliğinden yüklenen her şey, istisnasız her istekte okunur. Bunun birkaç megabaytı - kaldırılmış bir eklentinin geride bıraktığı - her sayfayı yavaşlatır ve ilk olarak yönetimde görünür, çünkü orada hiçbir şey önbelleğe alınmaz.
Deneme ortamında eklentilerin yarısını kapatıp ölçün. Sonra kalanın yarısını. Dört tur suçluyu bulur, tahmin ise bulmaz.