引用Nginx的主要优点是它不需要为它收到的每个请求生成单独的线程。
现在,如果我们使用FastCGI运行基于python的Web应用程序,并且此Web应用程序具有阻塞调用,是否会造成瓶颈?
由于只有有限数量的工作程序在运行(每个处理器1个?),python脚本的阻塞调用是否会使其协同进行多处理?
答案 0 :(得分:0)
Nginx通过套接字连接讨论fastcgi进程。
如果fastcgi进程阻塞,则意味着它不会通过套接字发送数据。
这不会阻止nginx,因为它会继续处理事件(来自其他连接的数据)。它使用非阻塞技术,如select
,poll
或等效的操作系统相关函数(具有超时)来查询套接字而不会阻塞。
但它会阻止任何客户端等待fastcgi输出。