web服務器的架構設計
又有感興趣的話題了:
liu chuncheng:
前兩天看了一篇有關IOCP的文章,里面提到apache。文章作者的觀點是用IOCP模型的IIS應該比進程模型的apache的性能要高。我想針對這個主題
首先說一下我的觀點:
1、IOCP是windows下比較高效的一個異步IO模型,他可以克服I/O設備慢速的缺點,從而可以構建一個高效的網絡通訊模型。
2、但我認為IOCP也不是萬能的,只有合適的應用才會發揮他的長處。比如游戲服務器,或者流媒體服務器等。
3、但我認為對于web服務器它不是最好的方案,原因如下:
? ? a、web服務器的連接之間的數據是獨立的,沒有聯系的,那么每個連接的數據用一個線程或者進程來處理是很高效的,處理完之后就退出了,再沒有任何其它的
開銷。如果用IOCP那么就要放到隊列里,從線程池里面頻繁的切換線程來處理數據,這種開銷還是比較大的。只是web的資源需要做同步的機制。
b、web服務器是基于短連接的,區別于游戲服務器的長連接,就是不需要對這個連接做更多的管理。相當于一個連接上來之后就做一個任務,做完任務之后就一拍兩散
? ? 綜合上面的兩點,化繁為簡,我認為對于web服務器用最簡單的網絡模型——1連接+1線程,可能也是比較好的方案。
? ? 一家之言,歡迎大家拍磚!
http://groups.google.com/group/dev4server/browse_thread/thread/6cd19a9afc1fd295/4624a8b4bf162e6f#4624a8b4bf162e6f
posted on 2006-03-20 15:07 HuYi 閱讀(575) 評論(0) 編輯 收藏 引用 所屬分類: 郵件列表精選