如何有效地运行多CPU内核的Django

use*_*308 4 apache django performance mod-wsgi multicore

我正在开发一个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内存 在此输入图像描述

▼ab -n 200 -c 200用于2CPU内核和1GB内存 在此输入图像描述

▼vmstat 1用于1CPU核心和1GB内存 在此输入图像描述

▼vmstat 1用于2CPU内核和1GB内存 在此输入图像描述

use*_*308 10

我发现我只需要对Apache配置文件进行一些更改.我变了

WSGIDaemonProcess localhost
Run Code Online (Sandbox Code Playgroud)

WSGIDaemonProcess localhost processes=2 threads=25
Run Code Online (Sandbox Code Playgroud)

然后响应时间从7秒减少到2秒.
之后,我尝试了其他数量的CPU内核,当我设置与CPU内核数量相同的进程数时,性能会更好.