目前最流行的建立網站的服務工具就要屬Apache與IIS了。那麼他們之間到底哪個效能更好呢?到底哪個工具才是最適合我們的呢?最近我也對這方面的問題進行了一番研究。
如果是基於Linux平台的話,那不必多說自然是Apache了,因為IIS只能在Windows環境下運行,而Linux+Apache的整體效能、安全性、通用性也都強於Windows 2003+IIS 6.0,不過如果在Windows 2003的伺服器上,IIS 6.0和Apache 2.2.6到底哪個效能最好呢?
我於是做了一個測試,在不同型號的Windows 2003伺服器上安裝IIS和Apache,比較兩者的效能,最基本的比較是靜態HTML網頁讀取的比較,在我的測試之中,我發現Windows 2003下的IIS 6和Apache 2.2.6在靜態HTML檔案的處理效能上基本是相同的。
測試環境:三台不同的伺服器,CPU分別是P4 2.8E超執行緒,酷睿2 E6300,至強 5110,軟體分別安裝的IIS6和Apache 2.2.6.三台伺服器都放了一個40K的HTML文檔,我使用WAS(Web Application Stress Tool),開100個線程對這三台伺服器進行輸送量處理測試,測試其每秒鐘處理線程的能力(Requests per Second),測試時間為1分鐘。
對於P4 2.8E和E6300,無論對於IIS和Apache,兩者的點擊數都基本上是250,每秒鐘處理響應的數目大約為4.17.這說明對於靜態HTML檔案的處理能力,IIS和Apache在Windows平台下是基本相同的。
而Intel至強5110的測試資料就相差非常大,在IIS下點擊數達到了1838,每秒鐘處理響應的數目達到了30.63,幾乎比前兩台伺服器高了7倍,這說明在同樣的軟體環境下,即使是入門層級的CPU,Intel至強伺服器也具有遠遠超過普通奔騰伺服器的效能。
因此得出結論,如果一個網站的大部分頁面都是靜態頁面,並且是假設在Windows 2003伺服器上的,那麼IIS和Apache兩者效能基本相同,要想提高網站的整體輸送量,需要在伺服器硬體上進行升級。