我在考虑用mod_wsgi部署Nginx。然而,我读到了这个博客:
http://blogg.ingspree.net/blog/2007/11/24/nginx-mod-wsgi-vs-fastcgi/
在这里,mod_wsgi for nginx的作者说,很少的工作线程可以被阻塞相当长的时间,等待您的脚本返回,这将减慢服务器的速度。
这有多真实?我应该坚持快速的做法还是有更好的办法?
发布于 2009-06-25 03:53:48
因为nginx是一个事件驱动的系统,所以它实际上是最低级别的单线程。换句话说,在使用Apache时,与预叉MPM没有太大的不同。这意味着,一旦在运行在nginx/mod_wsgi下的WSGI应用程序中处理请求,就不能执行任何并行任务。
在Apache的pre叉MPM中,这不是太严重的问题,因为Apache进程将不接受连接,除非它能够立即处理它,所以任何其他请求都将由另一个进程处理。然而,在nginx/mod_wsgi中,情况并非如此,因为事件驱动系统的使用意味着它可以一次贪婪地接受许多请求,尽管技术上一次只能处理一个请求。然后,这些请求将一次一个处理,因此进程已经接受的后一个请求将被推迟。
对这个问题的进一步解释可在以下文件中找到:
http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-of.html
https://serverfault.com/questions/16114
复制相似问题