Apache + pouca memória - um servidor de cache como o nginx pode melhorar o desempenho?

1

Eu tenho um servidor com uma pilha lampp e um software baseado em php. Este servidor tem memória muito baixa e infelizmente não é uma opção para mim mudar agora ou aumentar a memória. Pelo menos a curto prazo.

O baixo impacto de memória no desempenho é muito notável. O servidor está trocando muito.

A alteração do apache para outro servidor http não é uma opção a curto prazo devido a algumas dependências.

O nginx usado como proxy reverso com armazenamento em cache, no mesmo servidor, pode ser uma alternativa para melhorar o desempenho?

Eu usei nginx antes em outras configurações com alto sucesso. Neste caso eu sou muito limitado. O lado positivo dessa solução é que ela liberará o apache de conteúdo estático, enquanto o nginx também consumirá memória e adicionará a um sistema já lento.

    
por nsn 05.11.2015 / 15:22

3 respostas

1

Isso é extremamente dependente da carga de trabalho específica do servidor e do motivo pelo qual está consumindo tanta RAM quanto ele.

Se o material gerado pelos seus scripts PHP for essencialmente estático (e você tiver definido cabeçalhos de controle de cache apropriados) para que um proxy de armazenamento em cache possa realmente reutilizar o conteúdo gerado, ele pode funcionar (ou não). Se não, você apenas adicionará mais tensão à memória.

Geralmente, se você está severamente limitado a recursos, a troca de servidores web não é uma solução mágica que conserte isso. A solução para pouca RAM é adicionar mais RAM ...

    
por 05.11.2015 / 15:34
1

O cache usaria a memória de qualquer maneira (e até mesmo o Apache pode fazer isso), então qual é a vantagem disso? No máximo, para melhorar o desempenho, você pode definir o nginx para servir o conteúdo estático, enquanto o proxy ao invés do Apache para conteúdo dinâmico. Claro que se:

  • você tem conteúdo estático suficiente no seu site que justificaria isso;
  • o uso da memória é devido ao número de threads do Apache (usuários simultâneos) e não a alguns scripts com muita memória.

Você também pode tentar diminuir o número máximo de threads e spiders no Apache primeiro, isso pode fazer o seu site reagir um pouco mais devagar, mas se você ajustar um pouco e não tiver picos repentinos de uso, deve estar bem.

    
por 05.11.2015 / 15:39
1

Você pode usar o Apache no modo de trabalho (em vez do prefork), sem o mod_php e usar o PHP em um pool do FPM.

O Apache servirá conteúdo estático com pequenos segmentos, em vez de grandes processos (que contém mod_php), e o pool do FPM só exibirá conteúdo dinâmico.

Essa configuração também permitirá que você use diferentes versões e configurações do php em diferentes hosts virtuais.

    
por 05.11.2015 / 17:00