Windows上的Nginx + PHP可伸缩性

我试图理解运行Windows的Nginx + PHP可伸缩性,可以说100个请求正在进行中期操作。

分析我看到的源代码:

  1. Nginx根据configuration和/或服务器处理器数量启动一个本地产生。

  2. 尽pipe它使用I / O完成端口,但每个工作者只创build一个线程来处理请求。

  3. 当PHP请求完成时,Nginx使用FastCGI与PHP进行通信

在这一点上,尽pipeNGinx可以继续扩展,但是在使用multithreading/进程和完成端口进行扩展的标准PHP fastcgi sapi代码中看不到。

对于unix / linux,PHP-FPM来解决这个问题,因为它分派subprocess来完成任务,尽pipe不确定性能。

但回到Windows,仍然在PHP-FPM,我没有看到具体的代码,以保持整个Web服务器性能高。

有没有Windows的替代品? 我的研究有问题吗?

Windows上的nginx的可扩展性是有限的,所以它不是一个生产网站的推荐平台。

从nginx网站 :

Windows的nginx版本使用本机Win32 API(不是Cygwin仿真层)。 目前仅使用select()连接处理方法,因此不应期望高性能和可伸缩性。

虽然有几个工人可以启动,但其中只有一个工人实际上做了任何工作。

一名工作人员可以处理不超过1024个同时连接。