關於Apache連線數限制的設定

2022-02-14 15:59:24 字數 1362 閱讀 5325

昨天晚上收到監視團隊的**,說web伺服器連不上。(作為dba,這貌似超出了我的工作範疇啊...)

於是馬上vpn連上伺服器,發現網路負載均衡下的兩台apache伺服器都沒有響應,而伺服器os層面上正常。 大概十來分鐘後自動恢復正常。

通過檢查apache的錯誤日誌,兩台伺服器都發現了類似如下的錯誤,而且錯誤發生的時間幾乎是同時。

[thu sep 18 20:46:13 2014] [warn] server ran out of threads to serve requests. consider raising the threadsperchild setting

[thu sep 18 20:50:54 2014] [warn] (os 64)指定的網路名不再可用。  : winnt_accept: asynchronous acceptex failed.

[thu sep 18 20:50:54 2014] [warn] (os 64)指定的網路名不再可用。  : winnt_accept: asynchronous acceptex failed.

[thu sep 18 20:50:54 2014] [warn] (os 64)指定的網路名不再可用。  : winnt_accept: asynchronous acceptex failed.

原來是向apache伺服器請求的request已經超過了所設定的同時連線數。

檢查後發現我們的兩台apache伺服器除了有個lb設定,其它都是預設的......

於是,我修改了如下配置:

修改d:\webserver\conf\extra\httpd-mpm.conf檔案

threadsperchild 512

maxrequestsperchild 5000

修改d:\webserver\conf\httpd.conf檔案,將下面的注釋#解除。

同時,為了能監視目前的連線數,進行了如下設定修改:

修改d:\webserver\conf\httpd.conf檔案,將下面的注釋#解除。

修改d:\webserver\conf\extra\httpd-info.conf檔案,增加如下內容:

sethandler server-status

order deny,allow

deny from nothing

allow from all

這樣,通過 web伺服器ip/c-server-status 可以監視apache目前的狀態。

關閉/啟動apache伺服器,打完收工。

下面是通過zabbix監視apache的設定例子:

nginx與apache 限制ip連線數和頻寬方法

今天有個人問我,nginx怎麼限制ip連線數,突然想不起來了,年齡大了,腦子不怎麼好使了。還要看一下配置才想起了。那個人又問我,你測試過的嗎?一下子把我問蒙了,我真沒測試過了,也不知道啟作用了沒有。1,配置nginx.conf 如下 複製 2,測試限制ip連線數 如下 複製 benchmarking...

Apache 連線數優化

可見的mpm配置在 usr local httpd conf extra httpd mpm.conf 當前httpd的工作模式檢視 mod so.c有prefork,故當前httpd應該是工作在prefork模式.prefork模式的預設配置是 startservers 5 minspareser...

檢視Apache的連線數和當前連線數

檢視了連線數和當前的連線數 複製 如下 netstat ant grep ip 80 wc l netstat ant grep ip 80 grep est wc l檢視ip訪問次數 複製 如下 netstat nat grep 80 awk awk f sort uniq c sort nlin...