压力testingDjango应用程序 – 如何提高吞吐量?

我第一次尝试压力testing一个简单的django web应用程序,运行在gunicornnginx上,我把它放在一个小型的256MB Rackspace Cloud服务器上。

使用httperf,我增加每秒的连接数,直到我开始得到错误例如

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

我发现,从Django几乎静态页面,我可以得到约35 req /秒之前,错误开始被抛出。

对于需要数据库查询和更多处理的更加dynamic的页面,我可以获得大约25次/秒。

最初我只使用1个gunicorn worker,但增加到4个worker(我认为我的云服务器有4个内核)似乎没有任何区别(它仍然开始抛出25 req / sec以上的错误)。

这些结果听起来像预期的一样,考虑到这是一个如此小(256MB)的服务器上运行?

另外,是否有任何改变,我可以提高吞吐量?