繁体   English   中英

在没有可用系统资源的情况下,对Django进行压力测试会使其变慢

[英]Stress test on Django makes it slow while there are free system resources

今天,在投入生产之前,我对在Ubuntu Server 12.04站点上运行的新Django(1.5.4)进行了压力测试,发现了一些意外的结果:

每秒执行50个请求,htop显示CPU使用率约为50%,RAM也约为50%。 我目前未使用Django缓存,并且在进行压力测试时没有执行正常的浏览器请求,因此加载每个页面大约需要30秒的时间(没有任何加载,其花费<= 2s)。 服务器在测试过程中没有崩溃,但是我没有理解为什么几乎有50%的可用资源会持续这么长时间……我希望看到更高的CPU和内存使用率!

因此,我的问题是:是否有任何Django默认设置会限制每秒的请求数? 还是Apache或mod_wsgi有任何限制? 我必须更改一些MySQL配置吗?

(注意:我是软件工程师,不是sysadmin)。

可能是缓存是您的答案。 当我运行Gunicorn设置时,我不知道Django如何在Apache上运行,但是它使每个数据库调用都往返。

如果您建立一些内存缓存来处理常见的结果集,则应该会看到很大的改进,因此您不必为每个请求而去旅行。

同样,一次50个并发连接请求似乎很多。 尝试将其调低为5或10,然后调为25,而不是从50开始。

只是我的观点。

您正在运行多少名django工人? 也许服务器无法加载到100%,因为您正在运行少量工作程序,但是数据库连接很多,因此大多数情况下工作程序正在等待数据库并阻止新连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM