Os módulos não ativados afetam o desempenho?


91

Ter módulos Drupal presentes, mas não habilitados, afeta o desempenho de um site Drupal?

Em outras palavras, a remoção de módulos desativados de um site do Drupal afetaria positivamente o desempenho?

Respostas:


97

Geralmente não, isso não afetará o desempenho - exceto quando você estiver visualizando sua página de seleção de Módulos (admin / build / modules ou admin / modules). Os módulos desativados não são carregados na memória e nunca são executados.


24
Dito isto, os módulos desativados ainda deixam para trás variáveis ​​e tabelas de banco de dados, para que o módulo possa ser reativado sem perda de dados. Se você não planeja usar um módulo desativado novamente, desinstale o módulo via admin / build / modules / uninstall no D6 ou admin / modules / uninstall no D7.
Dave Reid

1
Eu acho que esse pode ser um exemplo de módulo que adiciona uma coluna à tabela de nós, drupal.org/project/quickstats, então eu acho que se você não desinstalar o módulo, isso representará um consumo desnecessário de recursos (talvez mínimo? ) para outros módulos quando extrair informações do nó.
cigotete

62

Sim. Pode.

Apesar do que os outros dizem, há várias situações em que o desempenho diminui.

  1. Módulos desabilitados e não desinstalados adequadamente podem ter efeitos graves no desempenho: as variáveis ​​de um módulo não são removidas e serão carregadas a cada solicitação de página. As localidades de um módulo (no caso de você usar um site traduzido) não são removidas e causam sobrecarga em uma tabela de banco de dados já complicada.
  2. Drupal usa a tabela do sistema como cache para evitar pesquisas no sistema de arquivos para módulos. Quanto mais entradas houver nessa tabela, mais lento será. Esse efeito é bastante pequeno, porque a tabela do sistema é bastante bem indexada. No entanto, limpar o cache e visitar as páginas de administrador fazem com que esta tabela seja reconstruída. A reconstrução da tabela com mais de 200 módulos não utilizados é cerca de 25 vezes mais lenta que sem módulos não utilizados. A quantidade de reconstrução dessa tabela pode ser bastante alta em algumas situações estranhas, durante o desenvolvimento e assim por diante.

Módulos não utilizados não usam mais memória, exceto durante a reconstrução da tabela do sistema. Os módulos não utilizados não causam pesquisas mais ou mais lentas no seu sistema de arquivos, exceto durante a reconstrução da tabela do sistema. Se você ultrapassar os milhares de módulos X, o próprio sistema de arquivos pode causar problemas.


5
Módulos desativados não são necessariamente módulos não desinstalados corretamente: eu poderia desativar um módulo para evitar que suas páginas de configuração apareçam, e não porque eu quero desinstalá-lo. Por exemplo, na Drupal.org Views, a interface do usuário é ativada apenas quando alguém precisa editar uma visualização e, em seguida, é desativada após a edição da visualização.
kiamlaluno

3
Além disso, se você tiver o devel / admin_menu instalado, terá um bom atalho para 'Desativar módulos do desenvolvedor', que desativa itens como a UI de Views, a UI de Regras, a UI de Campo etc. que não são necessários para sites de produção em execução normal. Isso pode economizar alguns MB em cada thread do PHP / Apache em uma máquina LAMP normal!
precisa saber é o seguinte

5
Estou ciente de que um módulo não ativado não é por si só um módulo que já foi desativado. Seu exemplo de pontos de vista e módulos devel-alike faz provar o meu ponto: quando você desativar visualizações-ui sua mesa local e sua mesa varaibles é / cheia / de fiapos que é carregado e avaliados em cada página. Recentemente, limpei um site em que tínhamos 5 MB (!) E quase 60 MB (!) De variáveis ​​restantes e seqüências de caracteres de localidade não utilizadas, sobras de módulos antigos e não mais usados. Fazendo com que as pesquisas de localidades se tornem consultas lentas e causando 5Mb de memória extra em cada carregamento de página.
Berkes

Se eu desabilitar a interface do usuário do Views, é porque ainda quero usá-lo; é só que eu não quero que ele seja ativado quando não preciso. Nesse caso, remover todas as variáveis ​​do Drupal para esse módulo teria o efeito negativo de redefinir todas as configurações que alterei. Não é certamente o que eu gostaria. Um módulo não ativado é um módulo desativado. Parece que você está confundindo um módulo desinstalado com um módulo desativado, onde este é um módulo que eu desativei porque o uso em situações específicas, como a UI do Views, que é realmente necessária ao editar uma visualização; Eu não preciso disso em outros casos.
Kiamlaluno

2
Ao usar as visualizações da interface do usuário conforme você descreve: desativado com a opção de usá-lo à vontade; isso afeta o desempenho . É isso que o OP pede. E, aparentemente, é assim que as pessoas o usam (pelo menos você). Portanto, a conclusão é que os módulos desativados podem ter impacto no desempenho; especialmente se você optar por não removê-los completamente; e sempre se eles não desinstalar-se corretamente
Berkes

8

Com o instalado , suponho que você esteja dentro da pasta drupal modules ("sites / all / modules" ou "sites / yoursite.com / modules"), certo?

Nesse caso, os módulos desativados não afetarão o desempenho, apenas quando você visitar sua página "admin / build / modules". O Drupal reconstrói o cache de alguns elementos do módulo (como hook_menu ).


7

Pela minha experiência, a diminuição de desempenho dos módulos desabilitados é insignificante (e, em relação a isso, 4000 módulos desabilitados podem tornar as coisas um pouco mais lentas que 30 módulos desabilitados, etc.)

Pessoalmente, estou apenas mais preocupado com o código não utilizado (e provavelmente desatualizado) nos meus repositórios e diretórios da web, mas sou retentivo assim.


4

Tecnicamente não e sim. Os moduels normalmente desativados não são carregados na memória e, portanto, não afetam o desempenho do site. Mas se os módulos desativados tiverem muitos dados em variáveis, é aconselhável desinstalá-los para que a memória seja liberada.


3

A remoção do código dos módulos desabilitados pode não ter efeito no site.

Então, novamente, se você instalou um módulo em algum momento, ele terá preenchido o banco de dados com algumas tabelas. Portanto, quanto mais módulos você instalar, maior a chance de afetar o desempenho do banco de dados.

Desinstalar o módulo removerá essas tabelas desnecessárias.

Novamente, o desempenho depende do número de módulos que você instalou.


3

Os módulos desabilitados que não são desinstalados, mas são excluídos fisicamente do sistema de pastas afetariam adversamente o desempenho do site. Eu tinha 5 desses módulos e, devido a isso, havia 10.000 chamadas adicionais para a função is_dir (). Usei o módulo missing_modules (missing_module) para identificar os módulos ausentes e corrigi o problema no banco de dados.


1

Desinstalado e desativado não afetará o desempenho.

Porém, se o módulo estiver desativado apenas, poderá haver algumas tabelas associadas, o que representa um fardo extra para o banco de dados drupal.

E como dito anteriormente, haverá um problema de desempenho significativo na página do módulo do drupal. Muitas vezes, esta página não é carregada e leva muito tempo, pois todos os módulos instalados / desinstalados são exibidos lá.

Portanto, para superar essa situação, devemos remover fisicamente os módulos não utilizados de / sites / all / modules / drive.


1
"Desinstalado e desativado não afetará o desempenho." - em casos específicos, eles podem. Especialmente desempenho de ações administrativas. Não apenas na página "módulos", alguns módulos para tradução ou revisão de código funcionam em módulos não ativados também. E há coisas menores, como desempenho do sistema de arquivos.
MOLOT

1

Módulos desativados não afetam o desempenho do site drupal.

Mas é recomendável não baixar os módulos que seriam inúteis para o seu site.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.