Etkin olmayan modüller performansı etkiler mi?


91

Drupal modüllerinin mevcut, ancak etkinleştirilmemiş olması, bir Drupal sitesinin performansı üzerinde herhangi bir etkiye sahip midir?

Başka bir deyişle: Engelli modülleri bir Drupal sitesinden çıkarmanın performans üzerinde olumlu bir etkisi olur mu?

Yanıtlar:


97

Genelde hayır, performansı etkilemeyecektir - Modül seçim sayfanızı görüntülediğiniz durumlar dışında (admin / build / module veya admin / module). Devre dışı modüller belleğe yüklenmez ve asla çalıştırılmaz.


24
Bununla birlikte, devre dışı bırakılmış modüller değişkenlerin ve veritabanı tablolarının gerisinde kalır, böylece modül veri kaybı olmadan yeniden etkinleştirilebilir. Yine devre dışı bırakılmış bir modül kullanmayı düşünmüyorsanız, modülü D6'da admin / build / module / uninstall veya D7'de admin / build / module / uninstall ile kaldırmalısınız.
Dave Reid

1
Bunun, drupal.org/project/quickstats düğüm tablosuna bir sütun ekleyen bir modüle bir örnek olabileceğini tahmin ediyorum, bu yüzden modülü ayırmazsanız, bunun kaynakların gereksiz tüketimini göstereceğini düşünüyorum (belki minimum? ) düğüm bilgileri çekerken diğer modüllere.
cigotete

62

Evet. Yapabilir.

Diğerlerinin söylediğine rağmen, performansın düşeceği birkaç durum var.

  1. Devre dışı bırakılmış ve düzgün bir şekilde kaldırılmamış modüller performans üzerinde ciddi etkilere neden olabilir: bir modül için değişkenler kaldırılmaz ve her sayfa başına yüklenir. Bir modülün yerlileri (çevrilmiş bir site kullanıyorsanız) kaldırılmaz ve hantal bir veritabanı tablosunda ek yüke neden olur.
  2. Drupal, modüller için dosya sisteminde aramaları önlemek için önbellek olarak sistem tablosunu kullanır. Bu tabloda ne kadar fazla giriş varsa, o kadar yavaş olacaktır. Bu etki oldukça düşüktür, çünkü sistem tablosu oldukça iyi indekslenmiştir. Ancak, önbellek temizlenir ve yönetici sayfalarını ziyaret etmek bu tablonun yeniden oluşturulmasına neden olur. 200+ kullanılmamış modülle masayı yeniden oluşturma, kullanılmamış modüllere göre yaklaşık 25 kat daha yavaştır. Bu tablonun yeniden yapılanma miktarı, bazı garip durumlarda, geliştirme sırasında vb. Oldukça yüksek olabilir.

Kullanılmayan modüller, sistem tablosunun yeniden yapılandırılması sırasında daha fazla bellek kullanmaz. Kullanılmayan modüller, sistem tablosunu yeniden oluşturma sırasında, dosya sisteminizde daha fazla veya daha yavaş aramalara neden olmaz. X-binlerce modülünün üstüne çıkarsanız, dosya sisteminin kendisi sorun yaratabilir.


5
Devre dışı bırakılmış modüller mutlaka düzgün şekilde kaldırılmamış modüller değildir: Ayar sayfalarının görünmesini engellemek için bir modülü devre dışı bırakabilirim, kaldırmak istediğim için değil. Örneğin, Drupal.org Views UI yalnızca birinin görünümü düzenlemesi gerektiğinde etkinleştirilir ve görünüm düzenlemesi yapıldıktan sonra devre dışı bırakılır.
kiamlaluno

3
Ek olarak, devel / admin_menu kurulu ise, normalde çalışan üretim siteleri için gerekmeyen Görünümler Kullanıcı Arabirimi, Kural Kullanıcı Arabirimi, Alan Kullanıcı Arabirimi, vb. Şeyleri devre dışı bırakan 'Geliştirici modüllerini devre dışı bırak' için iyi bir kısayolunuz vardır. Bu, normal bir LAMBA makinesinde her PHP / Apache dizisinde birkaç MB tasarruf sağlayabilir!
geerlingguy

5
Etkin olmayan bir modülün bir kez devre dışı bırakılmış bir modül olmadığını fark ediyorum. Görüş ve devel-hem modüllerin Kişisel örneği yok benim açımdan kanıtlamak: Eğer görünümler-ui yerelleştirme tablosunu devre dışı bırakmak ve varaibles tablo yüklenir ve her sayfada değerlendirilir tüysüz / çevrili / olduğunda. Geçenlerde 5MB (!) Ve neredeyse 60MB (!) Artık değişkenlerin ve kullanılmayan yerel dizgelerin, eski ve artık kullanılmayan modüllerin artıklarının bulunduğu bir siteyi temizledim. Yerel ayarlara neden olma, sorguların yavaşlaması ve her bir önyükleme kutusunda 5 MB fazladan belleğe yol açmasına neden olur.
berkes

Görünümler Kullanıcı Arayüzünü devre dışı bırakırsam, bunun nedeni hala kullanmak istediğimdir; Sadece ihtiyacım olmadığında etkin olmasını istemiyorum. Bu durumda, bu modül için tüm Drupal değişkenlerini kaldırmak, değiştirdiğim tüm ayarları sıfırlamayı olumsuz yönde etkileyecektir. Kesinlikle istediğim şey değil. Etkinleştirilmemiş bir modül devre dışı bırakılmış bir modüldür. Kaldırılmış bir modülü, devre dışı bırakılmış bir modülle karıştırıyorsunuz, ikincisi de devre dışı bıraktığım bir modül. Çünkü belirli durumlarda kullanıyorum, görünüm düzenlemesi için gerçekten gerekli olan Views UI gibi; Başka durumlarda ihtiyacım yok.
kiamlaluno

2
Tanımlandığı gibi görünümler UI kullandığınızda: İsteğe bağlı olarak kullanma seçeneği ile devre dışı bırakılır; o performansı üzerinde bir etkisi vardır . OP'nin dediği şey bu. Ve görünüşe göre bu insanların nasıl kullandığıdır (en azından siz yaparsınız). Dolayısıyla, sonuç devre dışı bırakılmış modüllerin performans üzerinde etkisi olabilir; özellikle onları tamamen çıkarmamayı tercih ederseniz; ve her zaman kendilerini düzgün bir şekilde kaldırmazlarsa
berkes

8

İle yüklü Haklı, ( "siteler / all / modules" veya "siteler / yoursite.com / modüller") sizin drupal modüllerin içindeki klasörü kastetmek?

Öyleyse, devre dışı bırakılmış modüller performansı tam olarak etkilemez, yalnızca "admin / build / modülleri" sayfanızı ziyaret ettiğinizde. Drupal, bazı modül öğelerinin önbelleğini yeniden oluşturur ( hook_menu olarak ).


7

Tecrübelerime göre, devre dışı bırakılmış modüllerin performansının düşmesi önemsizdir (ve göreceli, 4000 devre dışı bırakılmış modüller işleri 30 devre dışı bırakılmış modülden biraz daha yavaş hale getirebilir.)

Şahsen, repo ve web dizinlerimde kullanılmayan (ve muhtemelen eski) kodları kullanmaktan daha çok endişeliyim, ancak analist olarak öyle kalıcıyım.


4

Teknik olarak hayır ve evet. Normalde devre dışı bırakılmış modeller belleğe yüklenmez, bu nedenle sitenin performansını etkilemezler. Ancak eğer devre dışı bırakılmış modüller değişkenlerde çok fazla veri içeriyorsa, hafıza boşaltılması için bunların kaldırılması önerilir.


3

Devre dışı bırakılmış modüllerin kodunun kaldırılması siteyi etkilemeyebilir.

Daha sonra, eğer bir noktada bir modül kurduysanız, veritabanını birkaç tablo ile doldurmuş olacaktır. Bu nedenle ne kadar çok modül takarsanız, veritabanı performansını etkileme şansınız o kadar yüksek olur.

Modülün kaldırılması gereksiz tabloları kaldıracaktır.

Yine, performans yüklediğiniz modül sayısına bağlıdır.


3

Kaldırılmayan ancak fiziksel olarak klasör sisteminden silinen engelli modülleri site performansını olumsuz yönde etkileyecektir. 5 tane modülüm vardı ve bundan dolayı is_dir () fonksiyonuna ek 10.000 çağrı yapıldı. Kayıp modülleri tanımlamak için missing_modules modülünü (missing_module) kullandım ve sorunu veritabanında düzelttim.


1

Kaldırıldı ve devre dışı bırakıldıysa performans üzerinde etkisi olmaz.

Ancak modül sadece devre dışı bırakılmışsa, drupal veritabanına ekstra yük getirecek şekilde ilişkili bazı tabloları olabilir.

Daha önce de belirtildiği gibi, drupal'ın modül sayfasında önemli bir performans sorunu olacak. Çoğu zaman bu sayfa yüklenmez ve yüklü olan / kaldırılan tüm modüllerin orada gösterilmesinden dolayı çok zaman alır.

Bu yüzden bu durumun üstesinden gelmek için kullanılmayan modülleri fiziksel olarak / sites / all / module / drive 'dan kaldırmalıyız.


1
"Kaldırılmış ve devre dışı bırakılmış performans etkilemez." - özel durumlarda yapabilirler. Özellikle yönetici işlemlerin performansı. Sadece "modüller" sayfası değil, çeviri veya kod incelemesi için bazı modüller de etkin olmayan modüller üzerinde çalışır. Ve dosya sistemi performansı gibi küçük şeyler var.
Moot

1

Devre dışı modüller, drupal sitenin performansını etkilemez.

Ancak sitenize yararı olmayacak modülleri indirmemeniz önerilir.

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.