【发布时间】:2011-02-10 03:30:56
【问题描述】:
我在 Windows 上的 Apache/Mod_WSGI 下运行 Django 服务器。作为处理我的用户请求的一部分,我做了很多需要网络 I/O 的事情。我通过 Django ORM 运行查询(到另一台机器上的数据库服务器)。我还进行非 Django ODBC 查询,读取网络共享上的文件和目录,并抓取其他网站。
我很确定至少我的一些网络 I/O 被阻塞(我想到了 ODBC 查询和网络抓取)。而且Windows上的Apache只有线程处理模型,没有多进程模型。
所以我的第一个问题是:如果我在响应请求时进行阻塞网络调用,会阻塞 Apache 服务器中的所有线程,还是仅阻塞响应请求的线程?
我的第二个问题是:这四种网络调用(Django ORM、ODBC、网络共享、HTTP)中的任何一种已知是非阻塞的吗?
【问题讨论】:
标签: windows django apache mod-wsgi