Apache-2.2

在我的情況下,什麼會更好 - apache、nginx 或 lighttpd?

  • January 11, 2011

我正在編寫一個 PHP 站點,預計會有大約 200-300 個並髮使用者瀏覽它。初始化應用程序時將載入大約 30 個 PHP 類,大約 10 個可能 15 個圖像和幾個 css 文件。

所以我的問題是,我還能做什麼(除了優化我的程式碼和為 PHP 使用 apc/eaccelerator)來盡可能接近那些並髮使用者的數量?

目前,我們還沒有為要託管的站點選擇伺服器,但很可能它將是 VPS 雙核 + 2 或 4GB RAM。這樣的伺服器是否有可能處理該負載?另外我怎麼能自己測試它並確保它能夠處理它?

我個人會推薦 Apachempm_worker與 FastCGI PHP、eAccelerator 和可能的磁碟記憶體一起使用mod_disk_cache,具體取決於您的 PHP 應用程序。如果您使用 PHP 生成靜態的、可記憶體的文件,例如圖像、JavaScript 或 CSS,或者您的內容是可記憶體的,您可能會注意到性能的巨大提升。

我們從 Apache 的mpm_prefork+切換mod_phpmpm_worker、FastCGI PHP 和mod_disk_cache,我們看到了速度的顯著提高。一個原因是,我們使用 PHP 來縮小 JS 和 CSS 文件,甚至只是呼叫 PHP 到readfile()記憶體的縮小 JS 文件比讓 Apachempm_worker從磁碟記憶體中提供該文件要慢得多。

許多人不惜一切代價吹捧 Apache 上的 lighttpd,說 Apache 臃腫且緩慢。我之前使用過 lighttpd,它非常漂亮,但根據我的經驗,Apache 可以調整為極致性能,並且該mpm_worker模組為您提供了與 lighttpd 相同的基本執行緒概念。

回复:RAM,**盡可能多地獲得!**如果你能負擔得起 4GB,那就去做吧。你會很高興你做到了。

對於性能測試,有很多很棒的工具,但我發現Apache 附帶的 apacvhe 基準測試工具是一種快速簡便的性能測試方法。應該如何使用它的細節需要一個單獨的問題:-)

引用自:https://serverfault.com/questions/221188