歡迎來到 常識詞典網(wǎng) , 一個專業(yè)的常識知識學(xué)習(xí)網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
nginx 的高性能依賴于 Linux 2.6 內(nèi)核的 epoll [1] 或是 BSD 內(nèi)核的 kqueue [2] 提供高效的網(wǎng)絡(luò)套接字狀態(tài)輪詢服務(wù)【時間復(fù)雜度為 O(1) 】。在沒有這兩個服務(wù)的內(nèi)核上則退化成為性能低下的 select 【*nix, Windows 都有、時間復(fù)雜度為 O(n) 】. Windows 沒有 epoll 和 kqueue,nginx 在 Windows 上用 select 表現(xiàn)自然不佳。Windows 上類似 epoll/kqueue 的服務(wù)是 I/O Completion Ports [3]【Solaris 上也有】,理論上講是比 epoll 更加先進(jìn)的服務(wù),因為它同時支持套接字、文件、管道【kqueue 類似】,而 epoll 不支持文件。也就是說不能用 epoll 做本地文件的異步 I/O。但不幸的是沒有成熟的開源網(wǎng)絡(luò)服務(wù)器使用 I/O Completion Ports。Apac-e 的性能不好一概而論。它有好多種模式,主要的兩種是:1、prefork 使用的是多進(jìn)程 [4];2、 worker 使用得是多進(jìn)程+多線程 [5]。Windows NT 平臺上線程的效率比較高【進(jìn)程的效率則相對 *nix 下低】,所以使用多線程模式性能更優(yōu)。Apac-e 還有個專門為 NT 優(yōu)化的模式 [6],用的是單進(jìn)程+多線程。至于說多線程同步 I/O 相對于使用 epoll/kqueue 異步 I/O 兩種方式孰優(yōu)孰劣,有興趣的朋友可以參考我在另外一個問題的回答 [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 內(nèi)核 (-ttp.sys),性能上又有了更大的提高;最后,IIS 是免費的(雖然不是開源的)。參考:learn.iis.net/page...答案 3:
想用Nginx最好別在Windows下,Windows下開發(fā)的話最好還是Apac-e。如果服務(wù)器用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 下的表現(xiàn)遠(yuǎn)遠(yuǎn)不如 LINUX 下。不知是否真的如此?”真的如此。理由是,windows 沒有epoll 。至于nginx 和 apac-e 在windows 下誰更好,這個,沒有實測過,估計差不多,都很差答案 8:
從實際運用上看,當(dāng)你的數(shù)據(jù)量達(dá)到一定程度(比如日均3000pv以上),NGINX在windows下的優(yōu)勢就十分小了(同等硬件下)。當(dāng)然3000PV對于一般互聯(lián)網(wǎng)產(chǎn)品而言,不是很高的一個數(shù)據(jù) 。所以,NGINX不建議在windows下執(zhí)行。當(dāng)然,從維護(hù)上看,windows的維護(hù)成本會小一些(得益于GUI的友好性和幫助文件的完整性)對于本地的測試,或者DEBUG,windows下采用NGINX是十分方便的。總之,看你的實際情況而言,如果僅僅做調(diào)試,OS無所謂。如果是運用到線上,建議linux。Apac-e也是如此~答案 9:
具體我沒有實測,Nginx相比Apac-e優(yōu)勢在于Epoll的線程同步機制,但win下沒有這種機制。作為測試環(huán)境其實還是要盡可能的模擬線上,用什么無所謂。生產(chǎn)環(huán)境下windows系統(tǒng)只適合部署IIS。答案 10:
在Windows 環(huán)境下,最好的選擇是IIS + FastCGI PHP。穩(wěn)定可靠、高性能。ps:最好是7.0的iis答案 11:
表現(xiàn)都不好,它們就是為linux而生的,很多特性在win下都用不了,win下僅作為web運行環(huán)境測試。答案 12:
看你怎么用了,如果能發(fā)揮出nginx的全部潛力,那還是值得一用。最麻煩的是community support,Windows的問題在-ilist上很少有人問,回答者就更少之甚少了。IIS其實很不錯,和Windows天生搭配,如果使用得當(dāng)(例如IIS7/7.5那些新增的功能),不會比nginx差到哪里去。答案 13:
在Windows下都不行答案 14:
在windows下最好的p-p搭配方式其實是iis+ispai p-p。。nginx和apac-e在windows下的表現(xiàn)絕對沒iis好,這是毋庸置疑的。答案 15:
感謝解答。我也是無奈,因為一些特殊原因只能臨時掛在WINDOWS的服務(wù)器上。據(jù)說還有一種性能比較高的做法是IIS+ISAPIWSGI跑?下一篇:互聯(lián)網(wǎng)的區(qū)域化和本地化如何理解? 下一篇 【方向鍵 ( → )下一篇】
上一篇:司馬南在轉(zhuǎn)基因食品問題上持什么立場? 上一篇 【方向鍵 ( ← )上一篇】
快搜