it-swarm.asia

Bir ölçekleme WP e-ticaret sitesi

Bununla ilgili soru .

Araçlar hakkında herhangi bir öneri, WP'de büyük bir e-ticaret sitesini optimize etmek için eklentiler. Şu anda 1000 ürüne ve 5000 ürüne daha geliyor. Optimizasyonlar binlerce kullanıcıya hizmet veren standart bir blogdan farklı olacak gibi görünüyor. WP üzerinde geliştirilmekte olan mağaza sayısı artıyor ve bir optimizasyon paketini bir araya getirmek yardımcı olabilir.

AA/RC

5
RealityCramp

Shopp eklentisi ile Wordpress kullanarak 55k ürün e-ticaret sitesi geliştirdim ve daha iyi performans elde etmek için MySQL'e yaptıklarımı paylaşabilirim, YMMV ve bunlardan bazıları (veya tümü) durumunuz için geçerli olmayabilir.

Çıktıyı "show status" sql komutundan bakarak arabellekleri/önbellekleri ne kadar arttırmanız gerektiğini belirleyin - bu çıktının güzelleşmesini sağlayan araçlar var, faydalı olabilecek, genellikle bir fikir edinmek için phpmyadmin kullanıyorum. http://blog.mysqltuner.com/ çok kullanışlı bir kaynak ve yardımcı programdır.

Sorgu önbelleğinizin açık ve çok düşük bir bellek belleği numarasına sahip olacak kadar büyük olduğundan emin olun. Anahtar okuma sayınızın çok yüksek olmadığından emin olun (bu göreceli bir değerdir), key_buffer_size değerini artırmak bu konuda yardımcı olabilir. Oluşturulan geçici tablo sayısının düşük olduğundan emin olun, tmp_table_size değerini artırarak bu sayıyı azaltın.

Yavaş sorgu günlüğünü açın ve yavaş sorguları günlüğe kaydedin, bu sorguları açıklayıcı ifadelerle manuel olarak yeniden çalıştırın, indeks değişikliği sütun türlerini ekleyin, gerektiğinde vb. Bir sorgu için, delil açıklama ifadeleri alıyorduk ("olması gerektiği kadar çok, daha fazla sayıda satır karşılaştırırken"), MySQL'in daha yeni bir sürümüne yükseltme yapmak, aynı sorgunun MySQL tarafından daha iyi optimize edilmesine (ve daha hızlı) neden oldu. kendisi.

Tam metin dizini kullanıyorsanız, InnoDB tablolarının bir seçenek olduğuna inanmıyorum - sadece yoğun zamanlarınızda ürünleri güncellemeyin. E-ticaret paketiniz destekliyorsa, hazırlama sunucunuzda değişiklik yaparak ve ardından yalnızca ürün tablolarını aşamadan dökümü olan ve üretime yükleyen ürün tabloları üzerinden geçirerek müşteri kesintilerini (performans veya başka türlü) en aza indirebilirsiniz - bu ancak Wordpress kurulumunuzun geri kalan kısmı için ek bir iş olmadan çalışmayın.

Site tasarımınız ve UX, kullanıcıları "arama" moduna karşı "göz atma" modunda yönlendirmeyi destekliyorsa (örneğin: bir siteyi tıklayıp arama kutusuna arama yazarak) bazı çok kolay veritabanından yararlanmanıza yardımcı olabilir seviye ve Wordpress seviye önbellekleme.

Önbelleklerinizi önceden yükleyin - sorgu önbellekleri gibi kolay önbellekleme ve Wordpress düzeyinde önbellekleme, sitenizi wget ile örterek önceden yüklenebilir. Ayrıca, kullanıcı arama davranışını kullanarak (günlükleriniz aracılığıyla) ve önbellekleri doldurmanız gerektiğinde bu istekleri yeniden alarak aramalar için önbelleği önceden yükleyebilirsiniz.

11
bsr

Kendi yorumumu merak ediyordum ve biraz okuma yapıyorum, işte bulunduğum yer burası.

Öncelikle, denemek için W3 Toplam Önbellek verirdim. Ayrıca, sunucunuza APC PHP eklentisini kurun ve kullanmak için W3 Total Cache ayarlayın. PHP, Database nesnelerini önbelleğe almak için APC kullanacaktır, hatta CSS ve JS'nizi küçültmenize yardımcı olacaktır. Yeterince sağlayabilir. Özellikle de zaten bazı MySQL önbelleklerini kullanıyorsanız W3 Toplam Önbellek ayrıca Memcache ile önbellek arka ucu olarak çalışabilir.

Veritabanı için sorguları önbelleğe alır çok yararlıdır. Bu bağlantıyı buldum ve MU blogu için bir şeyler yaptığını anlattı. Alıntılamak:

Sorgu Önbelleği, MySQL'de sakladığı - küçük bir özelliktir - özel olarak ana bellekte - son zamanlarda değişmemiş bir tablo için sorgunun sonuçları.

Diğer bir deyişle, bir tablodaki belirli bir satırı almak için bir istek geldiğinde - ve bu tablonun yakın zamanda herhangi bir şekilde değiştirilmediğini - ve önbellek temizleme/temizleme gerektiren doldurmadığını varsayarak - sorgu/veriler bundan tatmin edilebilir önbelleği. Elbette buradaki en büyük yarar, talebi yerine getirmektir - veritabanının diske gitmesi gerekmez (bu genellikle sistemin en yavaş kısmıdır) ve hemen karşılanabilir.

Yani bu oldukça havalı ve ürünler çok fazla değişmeyeceğinden çok yardımcı olacak. Makalenin bahsettiği başka bir şey de, Ram'ı veritabanında tutacak kadar belleğiniz olduğundan emin olmaktır; bu, sorguların hızlanmasına önemli ölçüde yardımcı olacaktır.

Ayrıca masa tipleri hakkında konuşuyor ve çoğunlukla salt okunur masalar için MyISAM'i InnoDB üzerinden kullanıyor, bu mantık biraz MU yönelimli olsa da faydalı olabilir.

Dizinlerin ayarlanması ile ilgili olarak. Birçoğunuz varsa, ekleri yavaşlatabilir ve daha fazla disk alanı kaplayabilir. Ancak, düzenli olarak büyük miktarda ürün eklendiğini hayal etmediğim için bunun kabul edilebilir olduğunu düşünüyorum. Ve disk alanı ucuzken ...

1
Ryan Gibbons