Eu usei o nginx para servir 5K por segundo para conteúdo estático. Você pode aumentar o número de worker_connections que estão atualmente configurados para 1024.
O cálculo max_client seria o seguinte.
O worker_connections and worker_proceses da seção principal permite que você calcule o valor de maxclients:
max_clients = worker_processes * worker_connections
Em uma situação de proxy reverso, max_clients se torna
max_clients = worker_processes * worker_connections / 4
link
O cálculo das conexões máximas do trabalhador é fácil quando você conhece a capacidade da sua configuração. A capacidade total / número de núcleos é de conexões máximas de trabalho. Para calcular a capacidade total, existem várias maneiras.
- Sugiro que você tente e faça um benchmark de sua configuração que fornecerá os números mais realistas. Você pode usar ferramentas como cerco, pummel, banco de apache, etc., lembre-se de medir o uso de recursos do sistema durante o teste.
Se o método acima não funcionar, tente os métodos abaixo. Eu estou fazendo suposições amplas ignorando RAM e IO, eles também irão fatorar, mas estes darão pontos de partida e você pode fazer ajustes a partir daí.
-
Suponha que a largura de banda é o gargalo, pegue o tamanho médio do objeto que o nginx está servindo e divida sua largura de banda com isso e você obterá o máximo de qps suportados.
-
Na segunda suposição, a CPU é o gargalo. Nesse caso, meça o tempo de solicitação e divida 1 por ele e múltiplo com o número de núcleos em seu sistema. Isso fornecerá o número de solicitações por segundo que o nginx pode manipular.