Você realmente não forneceu muitas informações técnicas, mas uma das otimizações mais fáceis e eficazes para o Drupal (e outras grandes aplicações PHP) é usando APC, memcache ou similar.
O APC sozinho é muito fácil de configurar e muito eficaz. Aqui estão minhas configurações que parecem funcionar bem com o Drupal (no arquivo php.ini):
extension=apc.so
apc.apc.stat = 0
apc.include_once_override = 1
apc.shm_size = 90
realpath_cache_size = 256K
realpath_cache_ttl = 180
O tamanho do apc.shm_size é o mais importante (máximo de MB da memória do servidor usado para o filecache .php). Normalmente, um tamanho menor é suficiente, mas se esse cache for muito pequeno, o cache será quase inútil. Para a maioria das instalações do Drupal, "50" seria suficiente. No entanto, se você tiver várias instalações Drupal ativas no mesmo servidor que NÃO sejam multisites, será necessário definir isso ainda mais.
Se você estiver usando o APC, você precisa ter certeza de que o Zend Optimizer está desativado, eles não funcionam bem juntos. O APC sozinho pode aumentar a velocidade de carregamento da página em 30 a 40%. Se o shm estiver definido, velocidades de carregamento de página muito baixas não aumentarão.
Além disso, gostaria de saber se os caras que fizeram a otimização inicial realmente conheciam o Drupal e fizeram otimizações do Drupal ou apenas coisas gerais do servidor. Você provavelmente tem esse conjunto, mas para ter certeza de ter as configurações adequadas em admin/settings/performance
. Isso é:
Caching mode: normal
Page compression: enabled
Optimize CSS files: enabled
Optimize JavaScript files: enabled
Todos estes são muito eficazes.
Você provavelmente também está usando Views, que podem ser otimizadas de várias maneiras, mas cada View também pode ter seu cache interno e um tempo de vida de cache. Se você fizer o cache de suas páginas de qualquer maneira e os usuários forem na maioria anônimos, isso não terá um grande efeito.
Existem muitas outras maneiras de otimizar (e você provavelmente ainda deve aprender o material de administração). Se o log do Drupal em admin/reports/dblog
não mostrar os erros que você está procurando, por exemplo, a maioria dos erros fatais e "erros de tela branca" nunca serão exibidos.
- informações sobre o impacto do Apache
Você deve tentar localizar os logs do apache e / ou php para obter mais informações sobre o motivo da falha. Por exemplo:
locate error.log
ou locate php.log
e use o local para ver as últimas mensagens de log:
sudo tail -n 100 /var/log/apache2/error.log
< - um caminho de amostra do meu servidor
Quando você encontrar o erro, pesquise no Google.
-
Monitorando o apache
"top" não é muito fácil de usar, mas é rápido e funciona em praticamente todas as máquinas UNIX. Eu costumo usá-lo para ver se apache2 ou mysql estão sufocando.
-
Uso de memória
Se o módulo "devel" disser que um carregamento de página leva cerca de 30M, é bastante normal para um módulo Drupal com muitos módulos. Eu tenho algumas instalações usando mais (como 40M), mas muitos também usam menos. Meu projeto atual usa cerca de 20 milhões por visualização de página normal. Desativar módulos desnecessários (ou alternar para módulos mais eficazes) é uma maneira de diminuir o uso da memória.
Enquanto estiver no php.ini, certifique-se de que 'memory_limit' não seja muito baixo. O Drupal usa muita memória e, por exemplo, todas as operações de dimensionamento de imagem são muito pesadas na memória. O padrão é muito baixo. Em teoria, você instalará pode funcionar com 35M, mas eu configuraria pelo menos o dobro para garantir que todas as operações funcionem. Alguns podem discordar, mas geralmente estou tendo mais de 100 milhões.
Se você quer fazer otimizações de hardcore do Drupal, existem muitos guias, mas este site é provavelmente o mais completo:
link
E sim, se você está pagando tanto por um mês por hospedagem, você deve ser capaz de contratar um especialista por uma hora ou mais:).