Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

Mağazayı yavaşlatan eklentiler

«Çok fazla eklentim var» sık duyulan ve nadiren doğru olan bir teşhistir. Bir mağazada çok eklenti bulunabilir ve mağaza hızlı kalabilir; ya da az eklenti bulunur ve mağaza sürünür. Ağırlık yapan sayı değil, her birinin sayfa başına çalıştırdığıdır.

Sorunumu anlatayım Mesaj gönderin

Bir eklentinin zaman harcamasının üç yolu

Veritabanı sorguları. Ürün görüntülemeye bağlanan ve ürün başına bir kez veritabanını sorgulayan bir eklenti, bir kategori sayfasını onlarca ek sorguya dönüştürür. Döngü içinde sorgu denen bu tasarım hatası, tanıtım mağazasında görünmez ve katalog büyüdüğü anda ortaya çıkar.

Sayfaya yüklenen kaynaklar. Kendi biçem dosyasını ve betiğini ekleyen her eklenti, işe yaramadığı sayfalar dâhil bütün sayfaları ağırlaştırır. Kaynaklarını ödeme sayfasına yükleyen bir karşılaştırma eklentisi bunun tipik örneğidir.

Görüntüleme sırasında dışarıya yapılan çağrılar. En pahalı ve en sinsi olanıdır: sayfayı kurarken üçüncü taraf bir hizmeti sorgulayan bir eklenti, ziyaretçiyi o hizmet yanıt verene kadar bekletir. Hizmetin yavaşladığı gün, sizde hiçbir şey değişmemiş olsa da mağazanız da yavaşlar.

Yitirilen zamanı belirli bir eklentiye nasıl bağlarım

  1. Platformun profil çıkarma kipini açmak

    PrestaShop'ta, her sayfa için SQL sorgu sayısını, sürelerini ve her bağlantı noktasında geçen zamanı gösteren bir hata ayıklama kipi vardır. En doğrudan ölçüm budur ve eklentiyi adıyla verir.

  2. Sunucu tarafındaki yavaş sorgulara bakmak

    Veritabanının yavaş sorgu günlüğü, pahalı sorguları metinleriyle birlikte gösterir. Onları üreten eklenti, tablo adlarından hemen tanınır.

  3. Sunucu süresini tarayıcı süresinden ayırmak

    Görünmesi uzun süren bir sayfa her zaman üretilmesi uzun süren bir sayfa değildir. Tarayıcının ağ sekmesi, ilk yanıtı bekleme süresini kaynakların yüklenme süresinden ayırır.

  4. Bir kopyada devre dışı bırakıp yeniden ölçmek

    Öncesi ve sonrası ölçümü tek kanıttır. Bunu sitenin bir kopyasında yaparım, asla üretimde değil ve aynı önbellek durumuyla aynı sayfalarda.

Eklenti belirlendikten sonra ne yaparım

Nadiren doğrudan kaldırma: eklenti bir hizmet veriyordur ve onu çıkarmak sorunu günlük işleyişe taşır. Ölçülebilir sonuç veren üç düzeltme vardır. Kaynak yüklemesini eklentinin gerçekten kullanıldığı sayfalarla sınırlamak; bu, işlevine dokunmadan kodunda çözülür. Dışarıya yapılan çağrıların sonucunu önbelleğe almak; böylece üçüncü taraf hizmet her ziyarette değil belirli aralıklarla sorgulanır. Döngü içindeki sorguyu tek bir sorguyla değiştirmek; katalog büyük olduğunda en kârlı düzeltme budur.

Eklenti kodlanmış ya da lisansıyla kilitli olduğu için bu üç yolun hiçbiri mümkün değilse soru bir seçime dönüşür: eklentiyi değiştirmek ya da maliyetini kabul etmek. Sonuç veremeyecek bir iyileştirmeyi faturalandırmak yerine bunu açıkça söylerim.

İlgili sayfalar

İhtiyacınızı bir dakikada anlatın

Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.

symptome
plateforme
catalogue (facultatif)
mesure (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Sıkça sorulan sorular

Kaç eklenti çok sayılır?
Bir sayı yoktur. Her biri yalnızca kullanıldığı sayfalarla sınırlıysa bir mağazada çok eklenti bulunabilir ve mağaza hızlı kalır. Doğru gösterge listenin uzunluğu değil, bir sayfanın üretilme süresidir.
Bir eklentiyi devre dışı bırakmak başarımı geri kazandırmaya yeter mi?
Üretim süresi için çoğu zaman evet, ama her zaman değil: devre dışı bir eklenti büyük tablolar ve etkin zamanlanmış görevler bırakabilir. Tam kaldırma, yalnızca devre dışı bırakmadan farklıdır.
Bir önbellek eklentisi yavaş bir eklentiyi telafi edebilir mi?
Sorunu önbelleğe alınmış sayfalarda gizler, başka yerlerde olduğu gibi bırakır: sepet, müşteri hesabı, sipariş akışı, yönetim paneli. Yavaşlığın en pahalıya geldiği sayfalar tam da bunlardır.
Yavaşlığın eklentiden mi barındırmadan mı geldiğini nasıl anlarım?
Sayfanın üretilme süresini ağ bekleme süresiyle karşılaştırarak. Sayfa hızlı üretiliyor ama yavaş ulaşıyorsa iz barındırma ya da ağdır; üretilmesi uzun sürüyorsa iz çalışan koddur, yani eklentilerdir.