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.