Apache是很是強大的老牌Web服務器,具備模塊化結構,擁有衆多很是成熟穩定的模塊,目前還是使用很是普遍的服務器,但它是基於多進程HTTPServer,須要對每一個用戶請求建立一個子進程/線程來響應,當訪問較大時,會佔用較多的系統資源(主要事實CPU和內存),因此高併發的處理並非Apache的強項。性能優化
Nginx是一款十分輕量級的HTTP服務器,同時也是一款很是不錯的反向代理、負載均衡服務器。Nginx以事件驅動,專爲性能優化而開發,支持內核Poll模型,能經受高負載的考驗,而且在高負載下具備很高的穩定性。其餘HTTP服務器在遇到訪問的峯值或惡意攻擊時,極可能會由於服務器內存頻繁交換而致使內存耗盡,最終致使服務器失去響應,而Nginx採起了分階段資源分配技術,是的它的CPU與內存佔用率很是低。Nginx官方表示保持10000個沒有活動的鏈接,只佔2.5MB內存,因此在抵禦相似DOS攻擊時,Nginx有很是出色的表現。除此以外,就穩定性而言,Nginx比Lighttpd更勝一籌。服務器
Nginx支持熱部署,啓動很是容易,而且幾乎能夠作到不間斷運行,即便運行數月也不須要從新啓動。Nginx還能夠在不間斷服務的狀況下進行版本升級。多線程
Lighttpd是一款輕量級的Web服務器,佔用內存小且CPU負荷低,是服務於靜態內容的不錯選擇。併發
IIS做爲運行在Windows環境下的Web服務器軟件,能夠對.NET、PHP等進行解析。IIS只能運行於Windows下,而絕大多數開源框架或軟件最佳搭配環境爲Linux/UNIX,這是由於IIS不具備開源軟件低成本、以擴展的特色。從開源、投入、擴展、性能等方面考慮,IIS均不是優先考慮對象。負載均衡
Tomcat服務器時一個免費的開源的Web應用服務器,屬於輕量級應用服務器,是開發和調試JSP程序的首選。Tomcat和IIS等Web服務器同樣,具備處理HTML頁面的功能,但處理靜態頁面的能力較差。框架
Lighttpd是一個單進程模型的Web服務器,內存使用量不多。Nginx在內存分配方面表現良好,使用多線程來處理請求,這使得多個線程之間能夠共享內存資源,從而使內存使用量大大減小。此外Nginx使用分段內存分配策略,按需分配及時釋放,整體佔用內存不多,可支持較大的併發鏈接。Apache在運行時使用較大的內存,是多進程模型,使用基於內存池策略的內存管理方法,使得在運行開始時便一次性申請大片內存做爲內存池,這=這樣在隨後須要的時候只在內存池中直接獲取,不須要再分配,所以不適合大併發的狀況。Nginx做爲一個後起之秀,發展速度很是迅猛,目前各大網站紛紛採用Nginx就說明它的優點是不言而喻的。模塊化