2011-05-11 43 views
1

我在管理託管服務器,我的一位客戶將啓動高流量的PHP網站。這是一個一分錢拍賣網站,我們預計每天會有25萬到30萬的訪客。針對高流量網站的服務器配置

你能告訴我,我應該改變我的服務器配置(PHP和Apache),以避免問題?恐怕服務器崩潰了大量的訪問者。

謝謝

+0

你使用的是1個Apache/PHP服務器嗎?也許你也可以安裝一個像Varnish這樣的反向代理,用於緩存,APC用於操作碼緩存。只是一個提示! – 2011-05-11 20:12:05

+0

是的,我正在使用1個Apache/PHP服務器。我不知道緩存是否是最好的解決方案,因爲它是像Swoopo和EnchereVIP這樣的一分錢拍賣網站 – bnabilos 2011-05-11 20:15:00

回答

2

使用像nginx這樣的輕量級web服務器作爲反向代理服務器和靜態內容服務器,應該將Apache內存和CPU使用率保持在最低限度,這對於大型網站來說是個問題。

作爲操作碼緩存的APC在大型站點中也很有用,因爲將PHP腳本編譯爲操作碼非常昂貴。

您使用哪個Apache分叉模型作爲服務器?事件和工作者MPM可能會適用於具有更高併發連接的大型站點。

在Apache中如何設置PHP,即FastCGI/CGI/DSO/SuPHP/FPM? SuPHP速度最慢,而FastCGI,FPM和DSO可以提供更好的性能,並允許您使用操作碼緩存。

如果您不需要SSL站點支持,像https://www.cloudflare.com/這樣的免費服務也可以減輕服務器的負載。

+0

謝謝您的回答。我正在使用SuPHP,我無法改變這一點。有一種方法可以使用SuPHP緩存? – bnabilos 2011-05-12 09:43:55

+0

由於CGI的工作方式,SuPHP沒有操作碼緩存,只要請求處理完畢,php進程就會死掉,這使得不可能存儲任何持久數據。您可以使用可以存儲持久數據的Memcache。 – CMck 2011-05-15 06:30:48

1

你可以把一個操作碼緩存投入使用,eAccelerator在是一個很好的用於這個目的。

您可能還需要考慮爲靜態內容(如images/CSS/javascript)提供Apache vHosts。如果這些可以放入CDN,那就更好了。

還有其他可用於基準測試的工具,包括Apache基準測試工具「ab」。你可以用它來壓力測試你的網站。

有幾個領域可以進行調優,而不僅僅是PHP。