Teste de estresse Django app - como melhorar o throughput?

2

Estou tendo minha primeira tentativa de teste de estresse com um aplicativo simples do django rodando em gunicorn e nginx que eu coloquei em um pequeno servidor Rackspace Cloud de 256MB.

Usando o httperf, aumento o número de conexões por segundo até começar a receber erros por exemplo,

httperf --hog --server=localhost --uri=/myapp --timeout=10 --num-conns=2500 --rate=25

Eu acho que para uma página simples e quase estática do Django eu posso obter 35 req / seg antes dos erros começarem a ser lançados.

Para uma página mais dinâmica que requer uma pesquisa de banco de dados e mais algum processamento, posso obter cerca de 25 req / seg.

Originalmente eu estava usando apenas 1 gunicorn worker, mas aumentar para 4 workers (acho que meu servidor de nuvem tem 4 núcleos) não pareceu fazer nenhuma diferença (ainda começa a gerar erros acima de 25 req / seg).

Esses resultados parecem tão esperados considerando que isso está sendo executado em um servidor tão pequeno (256MB)?

Além disso, há alguma alteração que eu possa fazer para melhorar o rendimento?

    
por Pete W 01.11.2012 / 21:12

0 respostas