亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Apache > 正文

Apache 并發優化設置方法

2024-08-27 18:30:31
字體:
來源:轉載
供稿:網友

Apache優化步驟:

1、先查看apache的運行模式,查看命令:

httpd -l

Compiled in modules:
           core.c
           prefork.c
           http_core.c
           mod_so.c
        這里可以看到運行模式是prefork模式。

2、修改apache 的httpd.conf 配置

本文是對512M 內存并裝有apache的vps進行優化,請不要跟我說裝nginx就強多了,確實如此,但是你這樣說的話,這篇文章就沒什么意義了,哈哈。那么進入正題吧!

操作系統(linux):CentOS 5.5 32位(并不是我說這個比較好,只是Cents我用得比較熟練)

    內存:512M
    cpu:1G(1000MHz,vps實際有沒有這個數,很難說)
    apache:2.2(建議低版本的,升級到高版本,畢竟舊版有很多問題,且性能也是高版本好點)

運行的主要是PHP程序,其他的不多說了,與本文關系不大。

首先,如題所說,本文所說的優化是針對apache 2.2以上版本,及使用perfork MPM模式的。perfork是apache在linux下默認安裝下的模式,如果使用apache作為服務器的放在,還是使用perfork模式比較好,worker模式下對php某些功能并不支持。如果你使用的是win系統或都沒有使有和perfork,那么下面可以選擇不看或抱著學習的態度看看咯。

以下內容均屬于博主自己的見解,實際測試請根據你的服務器,程序及其他因素按需處理。

一般情況下,我們需要優化apache就是因為apache占用大量的內存,導致vps當機,因為perfork是多進程處理的,每個進程都會點用一定的內存數量。所以限制httpd進程的數量,從而達到優化apache的作用。影響單個httpd進程的內存大小,主要都是加載模塊,至少什么模塊是合適的,我也很難說,因為這個是按由你的需要而定的。網上有些人說,絕大部分都會用不上的模塊列出來,我認為這個是有很大的誤導作用,因為絕大部分人中,也許你就是其中一個。將有用的模塊屏蔽掉,最壞的情況,就是重啟apache出錯,或部分功能無法使用。所以我也不會列出什么最少模塊加載方案什么的。所以,我只會說出一些參考。

apache(perfork)下的模塊加載,并不是模塊加載列表,沒有的模塊并不是屏蔽掉了,只是我也不清楚它的實際作用。

(一)、對于apache2.2,模塊名有cache的一般都是有用的,因為有不少的這類模板都是2.1以上的apache才支持的,所以這類的模塊不會是無緣無緣而存在的。

(二)、很有可能或必用到的模塊有:

 

復制代碼 代碼如下:

LoadModule auth_basic_module modules/mod_auth_basic.so
  LoadModule authn_file_module modules/mod_authn_file.so
  LoadModule include_module modules/mod_include.so
  LoadModule log_config_module modules/mod_log_config.so
  LoadModule expires_module modules/mod_expires.so
  LoadModule deflate_module modules/mod_deflate.so
  LoadModule headers_module modules/mod_headers.so
  LoadModule setenvif_module modules/mod_setenvif.so
  LoadModule mime_module modules/mod_mime.so
  LoadModule autoindex_module modules/mod_autoindex.so
  LoadModule negotiation_module modules/mod_negotiation.so
  LoadModule dir_module modules/mod_dir.so
  LoadModule alias_module modules/mod_alias.so
  LoadModule rewrite_module modules/mod_rewrite.so

 

(三)、我粗略點了一下apache里面的模塊約在50+以,要從中選擇人人都適用的模塊加載列表是不可能的,至少cgi模塊我是不會用,但不排除你不會用。

模塊加載這一塊就說到這里,這個大家多百度,多用自然會識別出一些有用模塊并漸漸屏蔽不使用的模塊。

接下來,就是最為重要的perfork配置,也是困擾了我很久的問題,盡管參數就那么6個,那是卻足以讓你的vps當機。先列出需要修改的參數,修改位于httpd.conf的文件里面

 

復制代碼 代碼如下:

Timeout 30
KeepAlive On
MaxKeepAliveRequests 80
KeepAliveTimeout 15
<IfModule prefork.c>
ServerLimit 150
StartServers      5
MinSpareServers   5
MaxSpareServers   10
MaxClients       150
MaxRequestsPerChild 4000
</IfModule>

 

上面的代碼就是要修改的,實際上我們是要修改perfork里在的參數,之所以將Timeout,KeepAlive等也寫出來,是因為這個也是影響apache性能的。

Timeout是一個連接多少時間后斷開,這個參數設置在30-60是一般的php程序都是適用的,至少要運行一些要占用大量時間的php程序,那么適當調高也是可以的,但請不要太高,否則會影響apache性能,本次優化我們使用30就很足夠了。

MaxKeepAliveRequests 是一個連接最大的請求量,對于頁面有較多的圖片等元素,可以適當調高一點,對于一般的網頁設置在80-120是足夠的,我們就設置為100,如果設置太高會導致httpd長時間不能退出釋放內存的。

KeepAliveTimeout 是當用戶處理一次連接時,如果在該參數的時間內還有請求則會繼續執行,不需要重新創建新的連接,直到達到MaxKeepAliveRequests的最大值才會退出。對于perfork模式下的,有人認為是將KeepAlive Off會比較好,但是對于絕大多數的網站都會不多不少有些圖片元素,所以將該項打開,并將KeepTimeOut設置在2-5秒,不但有效提高服務器性能,也能加快頁面打開速度。

接下來,就是正式進入perfork的參數設置了,不想服務器運行一會就內存占滿的得看看哦。

首先是參數ServerLimit就是服務器最大支持同時連接的客戶端,該值將決定下面參數MaxClient可以設定的值的范圍。ServerLimit實際上只是起到一個限制的作用,并沒有實際有作用,也許有,我就不知道了。實際上起到作用的是,MaxClient參數,但這個值又受ServerLimit的限制,等下會講。

另三個參數StartServers,MinSpareServers,MaxSpareServers,為什么將這三個參數一起說呢,因為這三個數是聯系在一起的。這三個數都是決定空閑進程數量,StartServers應該范圍就是MinSpareServers和MaxSpareServers之間。否則,apache會自動將該值還原到兩都之間,所以不要浪費不必要的資源。按照perfork默認的配置,這三個參數分別為:5,5,10。但是對于只有512M內存的vps來說,我認為還是有過大的負載。因此,我認為在這里應該退一步,將這三個參數設置為4,4,10,看起來和上面5,5,10并沒有什么不同,最大值還是10,但在實際使用中4,4,10釋放的內存速度會明顯比5,5,10快很多。

接下來就是MaxClient最大支持多少客戶端在同一時間連接服務器,簡單說就是最大并發數支持,這個沒有特別需要說的。對于512M的vps你也別想你的站能承受百萬PV,使用默認的150已是超出負載的了。一般將ServerLimit和MaxClient設為一樣值即可。

最后就是MaxRequestsPerChild參數,一個進程在處理多少次之后退出,設置為0則是無限次,也就是說不會退出,那么httpd進程也不會退出。那么,你就等著你的vps當機重啟去吧。對于這個參數,我粗略地搜索了一下,不少人推薦在1000次,也有100次的。據我的測試,對于內存只有512M的vps來說,該值設置在500以上都會很快占滿內存,但不至少于當機。而觀察得知,一但內存占滿,cpu的使用率幾乎變為0了。由此可知,當機了那什么都干不了了,還不如消耗多一點cpu資源避免,提高穩定性。所以,我最后的決定是將該值定義在30-40之間。這樣設定后,可以看出,內存釋放速度得到很大的提升,但也可以看到cpu也在頻繁上下跳動。這樣設置,即使內存占滿,也能在最短時間恢復正常。

所以對于512MB的vps,apache(perfork模式)最后的優方配置為:

 

復制代碼 代碼如下:

Timeout 30
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 2
<IfModule prefork.c>
ServerLimit 150
StartServers      4
MinSpareServers   4
MaxSpareServers   10
MaxClients       150
MaxRequestsPerChild 40
</IfModule>

 

這樣,我們的配置基本完成,進行負載測試即可。負載測試,我們使用ab測試,先聲明一點,是用你本地的虛擬機去測試服務器上的一個靜態頁面,而不是在服務器上測試。之前,我就是這樣做,因為網速一樣,效果都是比較好的,但別人都是不同網速的,所以服務器上測試是不準確的。

3、現在看看需要怎么優化:
      連接數理論上是越大越好,但是得根據硬件,服務器的CPU,內存,帶寬等因素,查看當前的apache連接數:
     

ps aux | grep httpd | wc -l

      計算httpd 占用內存的平均數:
     

ps aux | grep -v grep |awk '/httpd/{sum += $6;n++};END{print sum/n}'

      這個只是做個參考。計算后要減去服務器系統本身所需要的資源。
      比如內存2G,減去500M留給服務器,還有1.5G,那么可得到最大連接數:在8000左右。
      根據情況修改后的httpd.conf的prefork的配置后為:
   

復制代碼 代碼如下:

<IfModule prefork.c>
     StartServers          5
     MinSpareServers       5
     MaxSpareServers      10
     ServerLimit         5500
     MaxClients          5000
     MaxRequestsPerChild   100
</IfModule>

 

這里重點介紹下ServerLimit,必須放到MaxClients前,值要大于MaxClients。

4 重啟apache,再打開網站看看是否還會有慢的問題了。

附注:可以使用以下命令找到httpd.conf文件

find / -name httpd.conf

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品在线免费观看视频| 欧洲成人午夜免费大片| 久久久久国产精品一区| 91免费在线视频网站| 久久九九有精品国产23| 日韩美女福利视频| 欧洲日韩成人av| 国产精品香蕉在线观看| 91免费的视频在线播放| 欧美乱人伦中文字幕在线| 伦理中文字幕亚洲| 日韩美女视频在线观看| 亚洲黄色在线看| 精品国产一区二区三区久久狼5月| 欧美日韩国产一区二区| 日韩精品中文字幕在线播放| 国产aⅴ夜夜欢一区二区三区| 日韩中文字幕国产精品| 操人视频在线观看欧美| 欧美乱人伦中文字幕在线| 97人洗澡人人免费公开视频碰碰碰| 日韩a**站在线观看| 岛国av一区二区三区| 国产热re99久久6国产精品| 日韩在线视频国产| 久久久极品av| 日韩经典第一页| 日韩黄色av网站| 川上优av一区二区线观看| 久久亚洲精品视频| 色老头一区二区三区| 国产亚洲一区二区在线| 亚洲欧美国产制服动漫| www.99久久热国产日韩欧美.com| 欧美在线观看网站| 免费不卡欧美自拍视频| 久久久黄色av| 色噜噜久久综合伊人一本| 久久久视频在线| 日韩精品电影网| 国产欧美精品一区二区三区-老狼| 日韩大片免费观看视频播放| 菠萝蜜影院一区二区免费| 在线色欧美三级视频| 中文字幕久久亚洲| 欧美精品制服第一页| 亚洲国产欧美一区二区三区久久| 亚洲第一区第二区| 亚洲欧美变态国产另类| 国产精品劲爆视频| 亚洲xxxxx电影| 久久99国产精品自在自在app| 国产精品久久久久久久久久免费| 一本色道久久88综合日韩精品| 麻豆一区二区在线观看| 日本欧美中文字幕| 日韩经典第一页| 4438全国成人免费| 一区二区在线视频播放| 国产精品永久在线| 国产精品久久久久久一区二区| 欧美大片在线免费观看| 色天天综合狠狠色| 亚洲第五色综合网| 欧美刺激性大交免费视频| 亚洲欧美日韩在线高清直播| 九九久久综合网站| 奇门遁甲1982国语版免费观看高清| 欧美精品久久久久久久久| 久久精品视频播放| 亚洲国产欧美一区二区丝袜黑人| 久久国产精彩视频| 亚洲女人被黑人巨大进入| 亚洲一区二区三区777| www.欧美视频| 国产丝袜一区视频在线观看| 亚洲成人久久电影| 久久黄色av网站| 国产精品网红直播| 色www亚洲国产张柏芝| 欧美日韩国产激情| 欧美成人免费全部观看天天性色| 亚洲在线视频福利| 亚洲免费精彩视频| 亚洲精品电影网在线观看| 亚洲黄在线观看| 欧美成人精品一区二区三区| 亚洲网站视频福利| 亚洲午夜女主播在线直播| 久久伊人免费视频| 国产97在线观看| 一区二区亚洲精品国产| 九九九热精品免费视频观看网站| 日韩欧美有码在线| 亚洲国产欧美一区二区丝袜黑人| 国产综合在线视频| 国产香蕉精品视频一区二区三区| 欧亚精品中文字幕| 成人观看高清在线观看免费| 97色在线视频观看| 午夜欧美不卡精品aaaaa| 亚洲国产精品va在看黑人| 日韩中文字幕在线播放| 欧美大尺度激情区在线播放| 日韩三级影视基地| 亚洲视频精品在线| 日韩av成人在线| 精品在线小视频| 久久影视电视剧免费网站清宫辞电视| 日韩一区二区福利| 久久精品国产一区| 久热爱精品视频线路一| 51ⅴ精品国产91久久久久久| 日韩少妇与小伙激情| 91tv亚洲精品香蕉国产一区7ujn| 亚洲国产91色在线| 欧美乱妇高清无乱码| 亚洲女人初尝黑人巨大| 欧美激情亚洲自拍| 97碰碰碰免费色视频| 成人欧美一区二区三区在线湿哒哒| 欧美老肥婆性猛交视频| 欧美精品九九久久| 一区二区亚洲欧洲国产日韩| 美女视频黄免费的亚洲男人天堂| 欧美日韩精品中文字幕| 欧美—级a级欧美特级ar全黄| 欧美成人精品在线播放| 日韩av在线影院| 日韩av网站导航| 欧美精品免费播放| 久久精品国产69国产精品亚洲| 亚洲视频专区在线| 国产精品三级美女白浆呻吟| 国产精品久久久精品| 日韩av资源在线播放| 国产欧美在线播放| 九九热99久久久国产盗摄| 欧美中文字幕在线播放| 亚洲欧洲国产一区| 成人激情综合网| 亚洲аv电影天堂网| 综合激情国产一区| 久久夜精品va视频免费观看| 国内精品400部情侣激情| 国产91免费看片| 国产精品r级在线| 欧美大片免费看| 色噜噜狠狠狠综合曰曰曰| 亚洲精品国产拍免费91在线| 国产69精品久久久久久| 免费91麻豆精品国产自产在线观看| 九九热99久久久国产盗摄| 成人福利在线视频| 亚洲va久久久噜噜噜| 久久视频这里只有精品| 国产日韩欧美在线观看| 不卡av电影在线观看| 午夜精品久久久久久久99黑人| 91精品国产高清自在线看超| 亚洲自拍偷拍色片视频| 精品久久久久久久久久久久| 日韩在线激情视频| 亚洲性线免费观看视频成熟|