Amazon EC2 t1.micro + nginx + php-fpm = algumas vezes lento

1

Primeiro, algo sobre a infraestrutura:

Nós migramos um dos nossos servidores backend / admin para a amazon. Os aplicativos neste servidor são usados apenas esporadicamente (no máximo 10 usuários paralelos). Estamos usando uma instância t1.micro executando o Gentoo. Como Webserver estamos usando o nginx em combinação com o PHP-FPM. O problema é que, às vezes, o servidor está muito lento, o que significa que uma página precisa de 10 a 20 segundos para ser carregada (no máximo 2 segundos no meu ambiente de desenvolvimento local, e essas páginas são pesadas ... 80 MB +). Eu tentei analisar e reproduzir o erro, mas só descobri que a memória está bem (270MB livre) enquanto a carga da CPU está em 100%

Configuração:

nginx tem 2 trabalhadores e max. 1024 conexões.

PHP-FPM (removi os comentários)

error_log = /var/log/php-fpm.log

...

;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ; 
;;;;;;;;;;;;;;;;;;;;

[www]

listen = 127.0.0.1:9000

user = www
group = www

pm = dynamic

pm.max_children = 8

pm.start_servers = 2

pm.min_spare_servers = 2

pm.max_spare_servers = 4

pm.max_requests = 100

Espero que alguém tenha uma ideia do que fazer:)

    
por Frido 09.12.2011 / 11:16

2 respostas

1

Dê uma olhada no link , onde você encontrará informações detalhadas sobre t1.micro e como comares a outros tipos de instância (como m1.small). Isso ajudará a entender o comportamento da instância.

Curto: Assim que ultrapassar a fase de "short burst", você receberá uma grande quantidade de cpu st (mostrada com top ), o que está reduzindo a velocidade de tudo.

    
por 09.12.2011 / 18:28
3

As microinstâncias do EC2 fornecem curtos picos de CPU, não energia constante da CPU. Este é o comportamento esperado. micro instâncias fornecem apenas a potência total da CPU por alguns minutos, no máximo, limitando-a a cerca de 5-10% da capacidade. Se você olhar em top , verá um valor alto para 'st', isso é roubar CPU do hipervisor (CPU do I.E você não pode usar / é thin provisioned).

Instances of this family provide a small amount of consistent CPU resources and allow you to burst CPU capacity when additional cycles are available. They are well suited for lower throughput applications and web sites that consume significant compute cycles periodically

-Amazon

    
por 09.12.2011 / 11:24