Tomcat e dimensionamento nginx

3

Eu gerencio um aplicativo que é implantado em servidores Tomcat, com nginx na frente, como um proxy reverso. Eu preciso de alguma ajuda para o dimensionamento de pools de threads / pools de conexão / ... Eu encontro muita documentação descrevendo os diferentes parâmetros (executores Tomcat, nginx workers, keepalive, ...) mas não muita documentação explicando como encontrar o dimensionamento correto. E não tenho certeza de que entendi corretamente a documentação.

Por exemplo, vejo em meus gráficos de monitoramento nginx que tenho cerca de 350 conexões ativas, 30 conexões de gravação e 320 conexões de espera. Tenho cerca de 30 pedidos por segundo.

Eu tenho 200 threads configurados no servidor Tomcat para lidar com o processamento HTTP.

Eu tenho 1 processo de trabalho no nginx com 1024 conexões de trabalho.

Pelo que entendi nos documentos, as conexões em espera são HTTP1.1 keepalive. Mas também entendo que o nginx só faz HTTP1.0 como proxy. Estou um pouco intrigado. Essas conexões de espera estão consumindo os segmentos do Tomcat, não fazendo nada?

Você sabe de um bom recurso sobre o dimensionamento do Tomcat / nginx (ou outro proxy reverso, os conceitos devem ser os mesmos).

Obrigado pela sua ajuda!

    
por Guillaume 18.05.2012 / 16:00

1 resposta

4

1 worker process on nginx with 1024 worker connections.

Portanto, você não pode manipular mais de 1 * 1024 conexões e o nginx não pode usar mais de um núcleo de processador.

But I also understand that nginx only does HTTP1.0 as a proxy.

Errado. Veja: link

Are those waiting connections consuming Tomcat threads doing just nothing

Não. São conexões keepalive com os clientes. Também pode incluir conexões keepalive para backends, mas não mais do que você configura pela diretiva keepalive ( link ).

    
por 18.05.2012 / 20:03