欢迎来到 常识词典网 , 一个专业的常识知识学习网站!

[ Ctrl + D 键 ]收藏本站

您所在的位置:首页 > 教育学习 > 百科

百科

Nginx 和 Apac-e 在 Windows 下的性能表现谁更好?

分类: 百科 常识词典 编辑 : 常识 发布 : 08-22

阅读 :348

Nginx 和 Apac-e 在 Windows 下的性能表现谁更好?听说 NGINX 在 WINDOWS 下的表现远远不如 LINUX 下。不知是否真的如此?15 个答案

答案 1:

nginx 的高性能依赖于 Linux 2.6 内核的 epoll [1] 或是 BSD 内核的 kqueue [2] 提供高效的网络套接字状态轮询服务【时间复杂度为 O(1) 】。在没有这两个服务的内核上则退化成为性能低下的 select 【*nix, Windows 都有、时间复杂度为 O(n) 】. Windows 没有 epoll 和 kqueue,nginx 在 Windows 上用 select 表现自然不佳。Windows 上类似 epoll/kqueue 的服务是 I/O Completion Ports [3]【Solaris 上也有】,理论上讲是比 epoll 更加先进的服务,因为它同时支持套接字、文件、管道【kqueue 类似】,而 epoll 不支持文件。也就是说不能用 epoll 做本地文件的异步 I/O。但不幸的是没有成熟的开源网络服务器使用 I/O Completion Ports。Apac-e 的性能不好一概而论。它有好多种模式,主要的两种是:1、prefork 使用的是多进程 [4];2、 worker 使用得是多进程+多线程 [5]。Windows NT 平台上线程的效率比较高【进程的效率则相对 *nix 下低】,所以使用多线程模式性能更优。Apac-e 还有个专门为 NT 优化的模式 [6],用的是单进程+多线程。至于说多线程同步 I/O 相对于使用 epoll/kqueue 异步 I/O 两种方式孰优孰劣,有兴趣的朋友可以参考我在另外一个问题的回答 [7]。[1]:en.-.org/wiki...[2]:en.-.org/wiki...[3]:msdn.microsoft/en-us...(VS.85).aspx[4]:-ttpd.apac-e.org/docs...[5]:-ttpd.apac-e.org/docs...[6]:-ttpd.apac-e.org/docs...[7]:z-i-u/question...

答案 2:

在 Windows Server 上没有必要使用 nginx,直接部署 IIS 即可。首先,IIS 在吞吐量(T-roug-put)方面并不输于其他 Web Server;其次,IIS 7.0 之后通过将部分模块移入 Windows 内核 (-ttp.sys),性能上又有了更大的提高;最后,IIS 是免费的(虽然不是开源的)。参考:learn.iis.net/page...

答案 3:

想用Nginx最好别在Windows下,Windows下开发的话最好还是Apac-e。如果服务器用Windows的话,那哥就不说什么了。。。。。

答案 4:

-ttps://git-ub/-e-aiqia... ngwsx is a port of nginx on windows使用了IOCP模型,楼主可以测试一下性能。

答案 5:

为什么要做奇怪的事情?想玩NGINX还是要LINUX,windows那是IIS的阵地

答案 6:

想用nginx最好不要选win32...

答案 7:

“听说 NGINX 在 WINDOWS 下的表现远远不如 LINUX 下。不知是否真的如此?”真的如此。理由是,windows 没有epoll 。至于nginx 和 apac-e 在windows 下谁更好,这个,没有实测过,估计差不多,都很差

答案 8:

从实际运用上看,当你的数据量达到一定程度(比如日均3000pv以上),NGINX在windows下的优势就十分小了(同等硬件下)。当然3000PV对于一般互联网产品而言,不是很高的一个数据 。所以,NGINX不建议在windows下执行。当然,从维护上看,windows的维护成本会小一些(得益于GUI的友好性和帮助文件的完整性)对于本地的测试,或者DEBUG,windows下采用NGINX是十分方便的。总之,看你的实际情况而言,如果仅仅做调试,OS无所谓。如果是运用到线上,建议linux。Apac-e也是如此~

答案 9:

具体我没有实测,Nginx相比Apac-e优势在于Epoll的线程同步机制,但win下没有这种机制。作为测试环境其实还是要尽可能的模拟线上,用什么无所谓。生产环境下windows系统只适合部署IIS。

答案 10:

在Windows 环境下,最好的选择是IIS + FastCGI PHP。稳定可靠、高性能。ps:最好是7.0的iis

答案 11:

表现都不好,它们就是为linux而生的,很多特性在win下都用不了,win下仅作为web运行环境测试。

答案 12:

看你怎么用了,如果能发挥出nginx的全部潜力,那还是值得一用。最麻烦的是community support,Windows的问题在-ilist上很少有人问,回答者就更少之甚少了。IIS其实很不错,和Windows天生搭配,如果使用得当(例如IIS7/7.5那些新增的功能),不会比nginx差到哪里去。

答案 13:

在Windows下都不行

答案 14:

在windows下最好的p-p搭配方式其实是iis+ispai p-p。。nginx和apac-e在windows下的表现绝对没iis好,这是毋庸置疑的。

答案 15:

感谢解答。我也是无奈,因为一些特殊原因只能临时挂在WINDOWS的服务器上。据说还有一种性能比较高的做法是IIS+ISAPIWSGI跑?

下一篇:互联网的区域化和本地化如何理解? 下一篇 【方向键 ( → )下一篇】

上一篇:司马南在转基因食品问题上持什么立场? 上一篇 【方向键 ( ← )上一篇】