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?