Número correto de processos uWSGI?

3

Em uma caixa de 4 núcleos, qual cenário cria a melhor configuração:

4 O uWSGI processa com uma fila profunda para lidar com solicitações

8 processos do uWSGI com uma fila profunda

Como muitos processos que a memória do servidor permite com uma fila relativamente rasa?

    
por Jason Christa 22.03.2011 / 21:45

2 respostas

2

Historicamente, o senso comum tem sido que o desempenho do servidor web (isto é, uma carga de trabalho de alta volatilidade com vidas úteis relativamente curtas) é muito mais uma função da memória disponível do que o número de núcleos. O agendador de processos do sistema operacional empregará uma magia consideravelmente mais profunda do que apenas rodar os processos mais intensivos de CPU entre seus processadores disponíveis; em vez de tentar adivinhar o escalonador, sua melhor aposta é garantir que você tenha RAM suficiente para manter mais processos de filas rasa vivas do que a carga esperada de solicitações simultâneas e permitir que o planejador manipule como obtê-los em ciclos. maneira oportuna.

    
por 25.03.2011 / 06:01
1

A resposta é que depende do aplicativo que você está veiculando e, em particular, do tempo de execução.

Se você estiver usando Python ou Ruby, provavelmente precisará de um processo por núcleo lógico - a menos que seu aplicativo use muito código nativo capaz de usar vários núcleos.

Se você estiver usando o Go ou outro idioma capaz de executar códigos simultaneamente em vários núcleos, será necessário apenas um único processo.

Para saber se você precisa de uma fila profunda ou rasa (comprimento da fila de escuta do soquete), isso precisa ser pelo menos tão longo quanto o número de processos x número de segmentos e maior dependendo do que está na frente do uWSGI.

    
por 17.11.2014 / 14:20

Tags