2011-07-07 62 views
0

我有一個Lighttpd(1.4.28)web服務器運行在Centos 5.3和PHP 5.3.6在fastcgi模式。優化Lighttpd爲大量連接服務小文件

服務器本身是一個帶有1gb ram的四核,用於記錄視頻平臺的查看統計信息。

每個請求都包含一小部分xml,接收的php腳本執行一個簡單的INSERT或UPDATE mysql查詢。 PHP返回一個非常小的響應來確認請求。

這些請求非常頻繁地執行,我需要系統能夠以高速率的請求/秒處理儘可能多的併發連接。

我已禁用保持活動狀態,因爲只有單個請求將被創建,因此我不需要保持連接處於打開狀態。

關注我的一件事是,在服務器狀態中,我看到很多處於「讀取」狀態的連接。我認爲這是由server.max-read-idle默認設置爲60來控制的。可以將它改爲5,因爲我看到大多數連接長時間處於打開狀態。

而且我還能做優化的lighttpd能夠服務器許多小請求

的這是我第一次體驗設置lighttpd的,因爲我認爲這將是比在這種情況下的Apache更適合。

感謝

伊爾凡

回答

1

我相信這個問題是不是在Web服務器,但在你的PHP應用程序,尤其是在MySQL的一部分。

我會用apache + mod_php替換lighty,用一些NoSQL這樣的Redis替換mysql,這會將INSERT請求排隊到數據庫。然後我會編寫一個在MySQL中插入數據的守護進程/ crontab。

我們之前有過這樣的事情,但我們並沒有使用Redis,而是在一個目錄中創建了TXT文件。

+0

我知道是2年後,但看看這個,我編程幾個月後,我寫在這裏 - https://github.com/nmmmnu/Micro-HTTPD,我們使用它自那時以來一個自動完成。 – Nick