我正在开发一个Web应用程序,但是当我增加CPU内核数量时,Django的性能并没有提高。 (实际上,1个核心的性能最高,2,4,8个核心的性能差异很大) 我的应用程序所做的是简单地从数据库加载静态文件(HTML,CSS,JS)和一些数据。 我使用Apache作为Web服务器和mod_wsgi。
这是Django的正常行为吗?
如果是这样,我怎样才能提高多核的性能?
(我希望增加内核数量,因为只有1个内核,CPU使用率达到约90%)
▼ab -n 200 -c 200用于1CPU核心和1GB内存
答案 0 :(得分:10)
我发现我只需要对Apache配置文件进行一些更改。 我改变了
WSGIDaemonProcess localhost
到
WSGIDaemonProcess localhost processes=2 threads=25
然后响应时间从7秒减少到2秒 之后,我尝试了其他数量的CPU内核,当我设置与CPU内核数量相同的进程数时,性能会更好。