“Mağaza yavaş” ifadesi, yararlı bir müşteri geri bildirimi olmakla birlikte, yetersiz bir sorun teşhisidir. İlk kez siteyi ziyaret eden bir kullanıcı için yavaş yüklenen bir kategori sayfası, ödeme yöntemi seçildikten sonra takılan bir ödeme talebinden farklı bir sorundur.
İlk adımım, şikayeti tekrarlanabilir bir istek haline getirmektir: bir URL, müşterinin durumu, cihaz, yaklaşık zaman ve gerçekleştirilen eylem. Bunlar olmadan, altyapı değişiklikleri genellikle çalıştırılması en kolay olan performans testini iyileştirme eğilimindedir.
Herhangi bir ayar yapmadan önce gecikmeyi belirleyin
Üç farklı durumu ayrı ayrı ele alıyorum: sunucunun yanıt vermeye başlaması ne kadar sürer, tarayıcının sayfayı oluşturması ne kadar sürer ve bir kullanıcı eyleminin tamamlanması ne kadar sürer. Tarayıcı gereksiz komut dosyalarını çalıştırmakla meşgulse, hızlı bir HTML yanıtı bile kötü bir kullanıcı deneyimine yol açabilir.
Ayrıca, anonim ve kimlik doğrulaması yapılmış trafiği de karşılaştırıyorum. Sağlıklı bir genel sayfa önbelleği, bir oturum yanıtı her değiştirdiğinde ortaya çıkan, kaynak tüketen bir uygulama yolunu gizleyebilir. Önceden yüklenmiş bir sayfayı tekrar tekrar yenilemek, müşteri yolculuğunu yansıtmaz.
Kullanışlı bir inceleme kaydı, istek zamanını, önbellek durumunu, yanıt boyutunu, uygulama izleme verilerini ve aynı zaman aralığına ait ilgili altyapı metriklerini içerir. Bu gözlemleri birbiriyle eşleştirmek, birbiriyle ilgisiz ortalamalardan oluşan geniş bir gösterge tablosu derlemekten daha önemlidir.
İsteği yığın boyunca takip edin
Önbelleğe alınmamış bir istek söz konusu olduğunda, içe doğru inceleme yaparım. Web sunucusu, kullanılabilir bir PHP işleyicisi mi bekliyor? PHP, veritabanında zaman mı harcıyor? Bir modül, uzak bir hizmete senkron bir istek mi gönderiyor? İstek, katalog işlemleriyle rekabet halinde mi?
| Gözlem | Sonraki soru |
|---|---|
| İthalat sırasında gecikmeler artıyor | Dizin oluşturma işlemleri veya veritabanına yazma işlemleri, müşteri istekleriyle çakışıyor mu? |
| Yalnızca oturum açılmış sayfalar yavaş | Hangi önbelleğe alınmamış bloklar veya müşteriye özgü işlemler baskın çıkıyor? |
| Ödeme işlemi ara sıra duraklıyor | Nakliye, vergi veya ödeme bağımlılığı, geçerli bir zaman aşımı süresi olmaksızın beklemede mi? |
| Sunucu yanıtı hızlı, etkileşim yavaş | Tarayıcının ana iş parçacığını ne meşgul ediyor? |
Bellek ve sonraki aşamadaki kapasiteyi tam olarak anlayana kadar işçi sayısını artırmaktan kaçınıyorum. Eşzamanlı olarak yürütülen daha fazla PHP işi, uygulama katmanındaki bir kuyruğu veritabanında daha büyük bir kuyruğa dönüştürebilir. Eşzamanlılık değişiklikleri, ölçümlerle gerekçelendirilmelidir.
Eklentiler tarafından eklenen işleri inceleyin
Magento’nun uzantı modeli, tek tek makul olan birçok modülün tek bir isteğe ek yük getirmesini kolaylaştırır. Bir ürün listesi, ek koleksiyon yüklemelerini, uzaktan kontrolleri veya tekrarlanan yapılandırma okumalarını tetikleyebilir. Müşterinin deneyimlediği şey, tüm bunların toplam maliyetidir.
Kontrollü bir ortamda, şüpheli davranış devre dışı bırakılmış halde izleri karşılaştırıyorum. Amaç, gecikmeden sorumlu işlemi tespit etmek; her üçüncü taraf modülünü sorunlu olarak nitelendirmek değil. Bir özellik gerekliyse, bu özelliğin işleyişini kritik istek yolunun dışına taşımak doğru çözüm olabilir.
Önbellekleme, yalnızca önbellek anahtarı ve geçersiz kılma davranışı verilerle uyumlu olduğunda işe yarar. Müşteriye özgü bilgiler, sırf zaman çizelgesini iyileştirmek amacıyla paylaşılan içerik haline getirilmemelidir. Adobe’nin önbellekleme belgeleri Bu, platformun önbellek katmanlarını değiştirmeden önce bunları anlamak açısından yararlıdır.
Yavaş vakalar da dahil olmak üzere bir müşteri yolculuğuna göre doğrulama yapın
Doğrulama sürecim, bir kategori sayfası, varyantları olan bir ürün, sepete ekleme, ödeme sayfasına geçiş ve ilgili entegrasyon sınırını içermektedir. Tek bir başarılı örnek sunmak yerine, daha yavaş yanıtları da içeren istek dağılımını karşılaştırıyorum.
Bu değişikliğin operasyonel bir kontrolü de gereklidir. Veritabanı yükü arttı mı? Zamanlanmış işler gecikti mi? Sayfa hızlanırken hata oranı arttı mı? Yerel bir iyileştirme, sorunu daha az göze çarpan bir yere kaydırabilir.
İlk gecikmeyi açıklayabildiğimde, etkilenen yolculuğun benzer koşullarda nasıl iyileştiğini gösterebildiğimde ve yoğun dönemlerde bu değişikliğin nasıl işlediğini betimleyebildiğimde, araştırmayı tamamlanmış sayarım. Bu açıklama, bir dizi yeni sunucu yükseltmesinden daha faydalıdır.
25 Eylül 2026 tarihinde güncellenmiştir.
