Um site Drupal 7 não otimizado com 2 GB de RAM pode atender de 20 a 25 solicitações por segundo de forma satisfatória. Se você quiser ir além disso, o site precisará de alguns ajustes. O que você ajusta depende se a maioria dos usuários no site é anônima ou autenticada. Aqui estão as principais coisas que você pode fazer para melhorar o desempenho:
O site está atendendo principalmente usuários anônimos:
1) Instale e configure definitivamente o APC, o memcache e o entitycache.
2) Coloque o proxy Varnish na frente do servidor da web. Demora cerca de 30 minutos para instalar e configurar, mas reduzirá drasticamente o tempo de carregamento da página. De fato, o Varnish pode lidar com cerca de 300 solicitações por segundo em uma máquina de 2 GB se todas as páginas estiverem em cache. Use o módulo Expirar para expirar apenas as páginas selecionadas na atualização / exclusão de conteúdo.
3) Use o módulo Agregação avançada de CSS / JS para agregar arquivos CSS e JS. Tente mover todos os arquivos JS para a parte inferior da página. Mas observe que isso pode danificar seu site, portanto implemente-o na produção após testes completos. Experimente também inlining CSS crítico. Na minha experiência, isso diminuirá o tempo de carregamento da página em cerca de meio segundo.
4) CSS / JS / images devem ter um cabeçalho de expiração muito distante no futuro. Isso garantirá que os navegadores não solicitem as mesmas imagens CSS / JS / novamente.
5) Verifique se o servidor da web está exibindo páginas compactadas / CSS / JS.
Depois de implementar as 5 etapas acima, seu servidor de 2 GB de RAM poderá atender 50 solicitações por segundo com bastante facilidade.
O site está atendendo principalmente usuários autenticados:
Otimizar esse site é mais complexo. Esses sites se enquadram em uma das duas subcategorias para fins de otimização:
(a) A maioria das páginas do site é idêntica, exceto 1 ou 2 blocos com informações específicas do usuário. Por exemplo, no site Drupal Commerce.
(b) A maioria das páginas é totalmente personalizada para o usuário. Por exemplo, no site Drupal Commons.
Se seu site se enquadra na categoria (a), aplique a maioria das técnicas discutidas no site, que atendem principalmente a usuários anônimos. A única diferença é que, para páginas não administrativas, o Varnish precisará remover o cookie SESSION do cabeçalho e servir páginas em cache. Use o módulo AJAX Block para bloquear servidores com informações específicas do usuário usando AJAX. Dessa forma, a maior parte da página será veiculada extremamente rapidamente usando o Varnish e, em seguida, informações específicas do usuário serão veiculadas no AJAX.
Se o seu site estiver na categoria (b), use o módulo Authcache. Prefiro não usá-lo o máximo possível, pois requer um pouco de configuração e manutenção. Mas funciona muito bem. Não será tão rápido quanto usar o Varnish, mas poderá lidar com 50 solicitações por segundo que você está procurando.
Se você deseja ir além do que discutimos aqui, consulte a Lista de verificação de otimização de desempenho do Drupal . Divulgação: está escrito por mim. Ele cita uma lista exaustiva de coisas que você pode fazer para tornar seu site Drupal muito rápido.