今天測試遇到乙個問題,apache 對新的連線一直沒有響應,而舊的連線還能工作。
檢視 apache 錯誤日誌,有乙個日誌記錄:
ah00484: server reached maxrequestworkers setting, consider raising the maxrequestworkers setting
一直沒有留意過 apache 的連線配置,看錯誤的資訊,應該是連線數超過了 apache 的某個配置。
查一下 apache 的連線情況
lsof -i -n -p | grep apache2
看結果很多連線了。於是,查了一下,找到了 apache 的 mpm 工作模式的介紹 ,
修改加大了 prefork 的連線限制:
startservers 10
minspareservers 5
maxspareservers 20
maxrequestworkers 100
maxconnectionsperchild 10000
其中maxconnectionsperchild
為程序處理了多少了連線之後進行**,有助力於減少記憶體洩漏。
除了 prefork 模式,apache 還支援 worker 和 event 模式。 worker 模式混合使用了程序和執行緒,event 則更進一步(event is based on the worker mpm)。
在event 模式下,連線只在活躍時才分配 worker 來處理,其底層採用的是 apache 封裝過的非阻塞式 io。
關於Apache連線數限制的設定
昨天晚上收到監視團隊的 說web伺服器連不上。作為dba,這貌似超出了我的工作範疇啊.於是馬上vpn連上伺服器,發現網路負載均衡下的兩台apache伺服器都沒有響應,而伺服器os層面上正常。大概十來分鐘後自動恢復正常。通過檢查apache的錯誤日誌,兩台伺服器都發現了類似如下的錯誤,而且錯誤發生的時...
Apache 瀏覽器訪問限制配置
瀏覽器訪問限制配置 限制配置 方式一 開啟功能模組 rewriteengine on 指定引擎 firefox 4.0 rewritecond firefox 4.0 nc,or 指定引擎tomato bot 1.0 rewritecond tomato bot 1.0 nc 防止死迴圈 不匹配40...
nginx與apache 限制ip連線數和頻寬方法
今天有個人問我,nginx怎麼限制ip連線數,突然想不起來了,年齡大了,腦子不怎麼好使了。還要看一下配置才想起了。那個人又問我,你測試過的嗎?一下子把我問蒙了,我真沒測試過了,也不知道啟作用了沒有。1,配置nginx.conf 如下 複製 2,測試限制ip連線數 如下 複製 benchmarking...