A resposta de Markdorison é basicamente o método aceito para atacar esse problema. Vou levar um pouco mais longe.
Quando você tiver o Pressflow para D6 ou Drupal para D7, o Memcached e o Varnish funcionando bem juntos, precisará codificar o seu arquivo VCL de maneira personalizada . Existem gratuitos disponíveis que dão pontos de partida, mas você sempre precisa brincar com eles.
Para que o Varnish funcione de maneira ideal, inicie-o com -s malloc xG em vez do padrão -s file / path / to / file. Além disso, com o Varnish, os itens estáticos do cache do Varnish podem ser mantidos pelo maior tempo possível.
Se você tiver mais de um servidor Web, remova o ETag do cabeçalho enviado ao Varnish no VCL. Também removo o Expira e simplesmente confio na Idade e na idade máxima nos cabeçalhos para que os navegadores voltem ao site.
A versão 1.5 (a partir de 3 de março de 2011) ainda é a versão mais rápida do módulo Memcached do Drupal.org. Normalmente, implanto-o usando uma única bandeja por servidor para reduzir o tráfego tcp para conexões com várias caixas em grande escala)
Configure o armazenamento em cache em "Desempenho" como externo e defina uma idade máxima que enviará os cabeçalhos corretos para um proxy de armazenamento em cache, como o Varnish.
Se você não conseguir que determinadas páginas sejam armazenadas em cache corretamente no Varnish, verifique as postagens do blog na Web que detalham como inspecionar as solicitações. Aqui está um exemplo de um post que escrevi há algum tempo: O que está impedindo o Varnish e o Drupal Pressflow de armazenar em cache visualizações de páginas de usuários anônimos
Você deve escolher o InnoDB (ou um dos outros nomes de outros provedores como o XtraDB) para MySQL e mover todas as tabelas para ele. Em seguida, confira esta postagem do blog para obter conselhos básicos de ajuste http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
Ter um grande conjunto de buffers é fundamentalmente importante. Ao carregar o teste, o site ative o log de consultas lentas. Você provavelmente deseja capturar consultas com duração superior a 50 ms e, em seguida, ajustá-las e reduzir repetidamente o tempo lento de captura de log até que a maioria das consultas seja executada usando índices e executada rapidamente.
Outros princípios básicos envolvem ter o APC no PHP. Se você optar por CGI rápido, em vez de mod_php, gaste algum tempo tentando tornar o cache da APC compartilhado entre as instâncias php, configurando um bom script de wrapper. Verifique também se o cache da APC está em um arquivo mapeado na memória para extrair todo o bit do PHP.