Daha etkin modüllere sahip olmak siteyi yavaşlatır mı?


13

Daha etkin modüllere sahip olmak siteyi yavaşlatır mı?
Sitem için 30 modül yükledim ve çok yavaş olacağından korkuyorum.

Yanıtlar:


11

Daha fazla etkin modüle sahip olmak, daha fazla dosya yüklendiğinde ve ayrıştırıldıkça Drupal önyüklemesini yavaşlatır. Bunun dışında, daha etkin modüllere sahip olmak otomatik olarak daha yavaş bir siteye sahip olmak anlamına gelmez, çünkü tüm modüller istenen her sayfa için kod yürütmez.

Örneğin, Görünümler'i yüklediyseniz ve yalnızca ön sayfa görünümünü etkinleştirdiyseniz, istenen sayfa bir düğüm sayfası olduğunda Görünümler yürütülmez. Rağmen, Görünümler modülü uygular hook_menu_alter()ve herhangi bir görünümü etkinleştirmemiş, ancak Görünümler modülü etkin olsa bile yürütülür. hook_menu_alter()Menüleri yeniden oluşturulduğunda herhangi bir uygulaması çağrılır ve bu normalde her sayfa isteğinde gerçekleşmez.


6
"Hiçbir şey" yapmayan çok sayıda modüle sahip olmak siteyi biraz yavaşlatır. Kanca sisteminin çalışma şeklini yapmak zorundadır; Drupal , her kanca çalıştırıldığında kurulu olan her modül için bir module_hook çağrısı yapar . Tüm bu kontroller toplanabilir. Sitemizde module_hook 13.000 kez çağrıldı ve bu 168ms sürdü; her küçük ekler.
mikeytown2

15

Evet. Bununla birlikte, 30 endişelenecek bir şey değildir. 100'ü aştığında beladasın;)

Birçok dosya eklemenin yavaşlamasını ortadan kaldırmak için bir bayt kodu önbellek (APC veya XCache) yükleyin ve kullanılmayan modülleri periyodik olarak kaldırdığınızdan emin olun (genellikle her proje, geliştirme sırasında bir noktada kullanılmayan modülleri toplar)


Commerce Kickstart'ın 96 katkıda bulunan modül kullandığını görüyorum.
Pere

XCache kurmak sayfalarımı yarı yarıya oluşturdu. Teşekkürler.
cherouvim

1

@Bojan Zivanovic & @kiamlaluno yanıtlarının her ikisinin de tamamlayıcısı olarak modül etkileşimlerini önemsemelisiniz. Çok sayıda modüle sahip olmak kötü modül etkileşimleri (ilaç etkileşimleri gibi) riskini artırır . 50'den fazla modülün tehlikeli hale geldiğini ve aynı görev alanları için birkaç modül kullanmadığınızı erken kontrol etmeniz gerektiğini söyleyebilirim.

Örnek olarak bloklar, görünümler, paneller, görünümler içeren alanlar, görünümler içeren bloklar, görünümler içeren paneller içeren bloklar oluşturma ... Fikir, normal bir beynin anlayabileceği bir şey elde etmektir (farklı sayfalarım nasıl oluşturulur) . Bu, birkaç karmaşık yükleme davranışı gizlendiğinde ve zincirlendiğinde performanslar üzerinde büyük bir etkiye sahip olabilir. Başka bir örnek, her içerik için birkaç modülden birkaç ACL kuralı eklemektir.

Performanslardan korkuyorsanız, her yeni modül eklemesinden sonra daima profil oluşturma modülleri kullanın ve farklılıkları izleyin . Bazen içinde bazı SQL veya özel bir şablon ile küçük bir kanca web sitesi zaman nesil kurtaracak.


Drupal "normal beyin" için yapılmış mı? :)
pico34

1

site oluşturma sırasında drupal sitenizi hızlandırabilecek akılda tutulması gereken üç şey:

  1. Modül sayısını azaltın
  2. MySQL sorgu günlüğünüzde yavaş sorgular olup olmadığını kontrol edin ve gerektiğinde kod / dizin ekleyin.
  3. Önbellekleme (ve kullanıcılarınızın çoğunun kimliği doğrulanmadığını ummak)

ve modül kısmıyla ilgili olarak, daha fazla sayıda modülün işlenmesi için daha büyük bir RAM gerektirdiklerinden, hız daha yavaş olacaktır.

hala 30 ila 60 modül sitenizi çok etkilemez.

şantiye yükleme süresi ve modül sayısı oranı 100 modül gibi olacaktır, siteyi 350ms ila 650ms geciktirir.

bir sonraki site için umarım bu puanları akılda tutarak ... :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.