A resposta é basicamente: depende. No seu caso específico, a qualidade & a eficiência dos sites que você instalou pode entrar em questão.
Por exemplo, esta semana eu estava trabalhando em um servidor que é relativamente moderado, mas consumindo 4 GB de RAM. Depois de fazer uma revisão de código - todo o site está usando um CMS de prateleira semelhante ao WordPress, mas com personalizações - descobrimos um grande gargalo. Depois de recodificarmos o problema, o servidor agora usa cerca de 2 GB de RAM em um dia normal. Uma queda de 50% no uso de RAM!
Eu não recomendaria fazer algo como dividir o servidor para usar o Ngnix e o Apache. Apenas use o Apache. As dores de cabeça de equilibrar as configurações de dois servidores diferentes não valem o benefício marginal. O Apache está bem. Mas dito isso, você deve considerar seus sites PHP WordPress contra o aplicativo Java versus MySQL na mesma caixa. Na minha experiência, você deve fazer o seguinte:
-
Configure corretamente o Apache: O Apache é um bom software, mas, assim que sai da caixa, ele é um invasor de memória. Por exemplo, acredito que o padrão é permitir 255 conexões por segundo? Posso garantir a você que sites mais simples mal conseguem 40 conexões por segundo em um bom dia. Então, ajustar o Apache para ser realista para o seu tráfego ajudará. Além disso, há uma configuração
KeepAlive
no Apache que funciona muito bem! Mas fora da caixa, acredito que esteja definido comoMaxKeepAliveRequests
de 100, o que é bastante maluco. Eu costumo definir isso para cerca de 30 conexões com um pequenoKeepAliveTimeout
de 2 a 3 segundos. A chave é ter oKeepAliveTimeout
para corresponder à velocidade que leva para uma página média baixar com um pouco de espaço para sobrecarga / lentidão. Portanto, se uma página for carregada em 1 segundo, faça umKeepAliveTimeout
de 2 segundos. -
Revise o código dos seus sites do WordPress quanto a possíveis afunilamentos: Concentre-se no núcleo do PHP dele & esclarecer o que você pode. Cuidado com as chamadas excessivas do MySQL & chamadas do sistema de arquivos. É aqui que você poderá fazer o aplicativo voar! Além disso, verifique o
memory_limit
no seuphp.ini
e certifique-se de que ele não seja maior que o necessário. O padrão é 64M, mas em muitos casos pode ser reduzido para 32M. - Ajuste do MySQL ou movendo-o para seu próprio servidor: Depois de escrever sobre o MySQL acima, percebi que você pode estar hospedando sua instância do MySQL na mesma caixa. Procure otimizar o desempenho do MySQL executando um script como primer de ajuste do MySQL . Sem ajustes, o MySQL consumirá todos os recursos & grande o sistema para baixo. Com o ajuste, o MySQL será executado melhor / mais rápido & recursos podem ser liberados para outros propósitos. Além disso, considere mover seu banco de dados MySQL para um servidor autônomo. Talvez você tenha que aprender a usar a rede corretamente & Firewall o servidor para permitir o acesso de seus servidores, mas proteger contra hackers, mas o benefício de desempenho será ótimo.
- Considere mover o aplicativo Java para outro servidor: Minha regra geral é um aplicativo Java principal por servidor. Em geral, os aplicativos Java podem ser invasores de memória quando comparados a configurações do PHP, como o WordPress. Ao dar ao aplicativo Java o próprio servidor a ser usado, os sites do WordPress ficarão muito mais felizes.
Em relação ao ajuste do MySQL, isso pode levar algumas semanas para ser definido no começo. A razão pela qual os scripts de ajuste são baseados no tráfego real que o MySQL vê. Então você basicamente faz seu site viver para o mundo, aguarde dois dias (pelo menos), execute os scripts de ajuste & depois espere mais alguns dias para sintonizar mais alguns. Após uma semana ou mais, você poderá ajustar o MySQL para funcionar tão bem quanto possível com a sua configuração.