Apache重負荷服務器應如何優化
添加時間:2014-7-21 17:15:50
添加:
思海網絡
兩萬個請求確實不大,但如果在高峰時期出現,而晚間或其它時間沒有,呈正態分布,且均是需要時間的下載服務,那負載還是很大的。
Apache 允許為請求開的最大進程數是256,MaxClients的限制是256.如果用戶多了,用戶就只能看到Waiting for reply....然后等到下一個可用進程的出現。這個最大數,是Apache的程序決定的--它的NT版可以有1024,但Unix版只有256,你可 以在src/include/httpd.h中
看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它調到1024,然后再編譯你的系統。記得在httpd.conf里也
要更改相應配置,缺省好象是150。就下面的機器來說,調到512頂
死了,如果再高,系統受不了。
另外,一些系統也限制了一個用戶的最大進程數。你可以用ulimit -u
來看。Linux一般是256。因此你要真想讓Apache超過這個數,就得調整
這個參數:
ulimit -u unlimited
這個參數要在Apache運行之前修改,因此建議加到apachectl里:
case $ARG in
start)
if [ $RUNNING -eq 1 ]; then
echo "$0 $ARG: httpd (pid $PID) already running"
continue
改成
case $ARG in
start)
ulimit -u unlimited
if [ $RUNNING -eq 1 ]; then
echo "$0 $ARG: httpd (pid $PID) already running"
Apache 允許為請求開的最大進程數是256,MaxClients的限制是256.如果用戶多了,用戶就只能看到Waiting for reply....然后等到下一個可用進程的出現。這個最大數,是Apache的程序決定的--它的NT版可以有1024,但Unix版只有256,你可 以在src/include/httpd.h中
看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它調到1024,然后再編譯你的系統。記得在httpd.conf里也
要更改相應配置,缺省好象是150。就下面的機器來說,調到512頂
死了,如果再高,系統受不了。
另外,一些系統也限制了一個用戶的最大進程數。你可以用ulimit -u
來看。Linux一般是256。因此你要真想讓Apache超過這個數,就得調整
這個參數:
ulimit -u unlimited
這個參數要在Apache運行之前修改,因此建議加到apachectl里:
case $ARG in
start)
if [ $RUNNING -eq 1 ]; then
echo "$0 $ARG: httpd (pid $PID) already running"
continue
改成
case $ARG in
start)
ulimit -u unlimited
if [ $RUNNING -eq 1 ]; then
echo "$0 $ARG: httpd (pid $PID) already running"
continue
關鍵字:Apache、服務器、進程
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解