Nginx 在 Windows 下不支持高并发的原因

windows 仅支持 select 和 poll(1.15.9 版本开始支持)

原因

epoll 是多路复用 IO(I/O Multiplexing) 中的一种方式,但是仅用于 linux2.6 以上内核,可以大大提高 nginx 的性能,而 windows 仅支持 select 和 poll(1.15.9 版本开始支持),所以没有如此高性能和可扩展性,正因为如此 Win 版本的 nginx 可以被当成 beta 版本,目前除了 XSLT 过滤器、image 过滤器、GeoIP 模块和嵌入式 Perl 语言之外,它提供了与 UNIX 版本的 nginx 几乎相同的功能。

已知问题

1. 尽管可以启动多个 worker 进程,但实际上只有一个 worker 进程做了所有工作;

2. UDP 代理功能是不支持的。


未来可能的功能改进

1. 作为一个后台服务运行;

2. 使用 IOCP(the I/O completion ports)作为连接处理的方法;

3. 在同一个 worker 进程里面使用多个 worker 线程。



参考链接:

1. nginx-windows

2. OpenResty

  • 发表于 2019-05-07 11:16
  • 阅读 ( 521 )
  • 分类:猿创

0 条评论

请先 登录 后评论
不写代码的码农
Kemin

架构工程师

35 篇文章

作家榜 »

  1. Kemin 35 文章
  2. golanglover 5 文章
  3. D.Chen 2 文章
  4. salamander 1 文章
  5. 深圳-伟 1 文章
  6. 广训 1 文章
  7. PHP小菜 1 文章
  8. 后端彭于晏 0 文章