A hospedagem VPS é muito lenta. Qual é o gargalo?

1

Eu configurei uma nova hospedagem VPS, para executar um site Drupal, mas é extremamente lento.

É o Ubuntu 10, Apache, php5.2

Eu habilitei o módulo Multi-Processing Module (MPM) e configurei-o da seguinte forma:

StartServers 4 MinSpareServers 2 MaxSpareServers 10 ServerLimit 20 MaxClients 20 MaxRequestsPerChild 200

Mas ainda é muito lento ... é uma fatia VPS: RAM 256MB BW 150 GB

qual poderia ser o motivo? obrigado

Atualizar (swaps)

             total       used       free     shared    buffers     cached
Mem:           245        220         24          0          1         26
-/+ buffers/cache:        192         52
Swap:          511        110        401
    
por aneuryzm 04.11.2010 / 13:40

5 respostas

3

Verifique se você está não acessando regularmente o espaço de troca para qualquer coisa - disco I / O é um gargalo muito comum, particularmente no Xen VPS 'com alocações de RAM relativamente pequenas supondo que você está no Slicehost, dada a sua menção de usar uma "fatia").

Embora ter espaço de troca pareça ser uma vantagem (particularmente porque seu VPS não falha e morre quando você tenta executar vários aplicativos que consomem memória, como Apache com conteúdo PHP dinâmico e MySQL), isso leva rapidamente a um desempenho abaixo do padrão. especialmente se você estiver em um nó de host VPS cheio de outras pessoas fazendo a mesma coisa.

Editar: eu recomendo o Wiki LowEndBox (LowEndBox se concentra em ambientes virtuais com memória alocações na mesma vizinhança que a sua) para obter dicas de otimização para que o Apache e o MySQL funcionem perfeitamente em seu ambiente virtual.

    
por 04.11.2010 / 14:17
2

É quase certo que não é um problema de configuração do Apache, mas você precisa criar um perfil de seu aplicativo para descobrir onde seu tempo está sendo gasto, em vez de adivinhar cegamente qual é o problema. O Xdebug é uma ferramenta popular para o perfil PHP, e ativar o log de consultas lentas do MySQL pode ajudar se o MySQL estiver sendo executado dentro do seu VPS.

Parte do problema com os ambientes VPS é que, como sua VM realmente não sabe o que está obtendo em termos de recursos, é praticamente impossível determinar se o hardware do servidor está sobrecarregado. Isso torna as coisas mais complicadas.

    
por 04.11.2010 / 13:52
1

Primeiro, tente as configurações padrão do mpm:

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>

Talvez você também deva dar uma olhada nisso: link Você também deve reduzir as configurações do KeepAlive.

E a RAM? Tem certeza de que tem o suficiente e o servidor não está trocando? (free -m)

Você também deve verificar seu banco de dados, é relativamente fácil com o script Tuning Primer: link

Entre. em um servidor com apenas 256MB de RAM eu aconselho você a usar outro servidor como Lighttpd ou Nginx (com PHP-FPM).

    
por 04.11.2010 / 14:18
0

Estou pensando que pode ser a sua camada de banco de dados, isso se conecta a um banco de dados compartilhado em algum lugar ou é o banco de dados local para o servidor?

    
por 04.11.2010 / 13:46
0

Certifique-se de que localhost se refira ao mesmo vhost configurado para acesso externo e tente algumas medidas em URLs dentro do link (por exemplo, navegador sobre ssh tunnel, navegador em execução no servidor virtual, ou simplesmente escreva um script php para pegar alguns urls) que deve permitir identificar se há afogamento sendo aplicado fora do seu servidor virtual ou se o problema está no servidor.

    
por 04.11.2010 / 14:16