Ajustando nginx worker_process para obter 100k hits por minuto

114

Temos um servidor que está servindo um arquivo html.

No momento, o servidor tem 2 CPUs e 2 GB de RAM. A partir do blitz.io, estamos obtendo cerca de 12k conexões por minuto e em qualquer lugar a partir de 200 timeouts nesses 60 segundos com 250 conexões simultâneas por segundo.

worker_processes  2;

events {
 worker_connections 1024;
}

Se eu aumentar o tempo limite, o tempo de resposta começa a aumentar além de um segundo.

O que mais posso fazer para espremer mais suco disso?

ablemike
fonte

Respostas:

187

Arquivo de configuração:

worker_processes  4;  # 2 * Number of CPUs

events {
    worker_connections  19000;  # It's the key to high performance - have a lot of connections available
}

worker_rlimit_nofile    20000;  # Each connection needs a filehandle (or 2 if you are proxying)


# Total amount of users you can serve = worker_processes * worker_connections

mais informações: Otimizando nginx para cargas de alto tráfego

Bulat
fonte