在Windows上使用Django上的多个CPU

我有一个在
Windows上运行的Django应用程序(通过Apache mod_wsgi),它受CPU限制.但Windows上的Apache只能执行MPM(多线程)工作者,而不是prefork(多进程工作者),而单个
Python解释器不会利用多个CPU.

我会切换到FastCGI,但这需要Flup,Windows不支持.

到目前为止,我提出的唯一解决方案是启动多个Django实例,然后使用Apache负载平衡来分发请求.只要我在命令窗口中启动Django实例,这样就可以正常工作,但我似乎无法弄清楚如何将多个Django实例设置为Windows服务(这样我就可以让它们在系统启动时自动启动).

有没有人想出一个策略来让一个基于Django的站点在Windows服务器上使用多个CPU?

最佳答案 我认为您的问题实际上是“如何运行多个Apache实例作为Windows服务?”从
docs

httpd.exe -k install -n "ApacheBE1" -f "c:\files\my_BE1.conf"
httpd.exe -k install -n "ApacheBE2" -f "c:\files\my_BE2.conf"

只是想让你知道那个部分,你是否尝试设置多个重量级的Apache后端实例并在它们之间进行负载平衡?

your.host.com:80
 - load balancer / light weight front-end
 - balancing between localhost:9001-900x
localhost:9001
 - mod_wsgi / heavy weight back-end 1
localhost:9002
 - mod_wsgi / heavy weight back-end 2    
localhost:9003
 - mod_wsgi / heavy weight back-end 3    
点赞