中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

apache最大連接數(shù)怎么設(shè)置

1970-01-01    來源:

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

如何設(shè)置apache 最大連接數(shù)
prefork幾乎還是目前的唯一MPM,我在下面主要還是討論它的工作原理和相關(guān)指令調(diào)整。查看缺省生成的httpd.conf配置文件,會(huì)發(fā)現(xiàn)里面包含如下的配置段:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
  prefork的工作原理是這樣的:控制進(jìn)程在最初建立StartServers個(gè)子進(jìn)程后, 為了滿足MinSpareServers設(shè)置的需要,創(chuàng)建一個(gè)進(jìn)程,等待一秒鐘,繼續(xù)創(chuàng)建第二個(gè),等待一秒鐘,繼而創(chuàng)建四個(gè),如此按指數(shù)級增加創(chuàng)建的進(jìn)程數(shù),最多達(dá)到每秒32個(gè),直到滿足MinSpareServers設(shè)置的值為止,這也就是預(yù)派生(prefork)的由來。這種模式可以使得不必在請求到來時(shí)再產(chǎn)生新的進(jìn)程,從而減小了系統(tǒng)開銷以增加性能。
  MaxSpareServers 設(shè)置了最大的空閑進(jìn)程數(shù),如果空閑進(jìn)程數(shù)大于這個(gè)值,Apache會(huì)自動(dòng)kill某些多余進(jìn)程。這個(gè)值一般不要設(shè)的過大,但如果設(shè)的比MinSpareServers小,Apache會(huì)自動(dòng)把它調(diào)整為MinSpareServers+1。如果站點(diǎn)負(fù)載較大的話,可考慮同時(shí)加大MinSpareServers和MaxSpareServers。
  MaxRequestsPerChild設(shè)置的是每個(gè)子進(jìn)程可以處理的請求數(shù)。每個(gè)子進(jìn)程在處理了MaxRequestsPerChild個(gè)請求后將自動(dòng)銷毀。0意味著無限,即子進(jìn)程永不銷毀。雖然缺省設(shè)為0可以使每個(gè)子進(jìn)程處理更多的請求,但如果設(shè)成非零值也有兩點(diǎn)重要的好處:
1. 可防止意外的內(nèi)存卸漏;
2. 在服務(wù)器負(fù)載下降的時(shí)侯會(huì)自動(dòng)減少子進(jìn)程數(shù)。
  因此,可根據(jù)服務(wù)器的負(fù)載來調(diào)整這個(gè)值,如果非零的話,筆者認(rèn)為10000左右是比較合適的。事實(shí)上這個(gè)值對Apache的性能影響不是很大。
  MaxClients 是這些指令中最為重要的一個(gè),它設(shè)定的就是Apache可以同時(shí)處理的請求,這是對Apache性能影響最大的參數(shù).在我個(gè)人看來,缺省的150是遠(yuǎn)遠(yuǎn)不夠的,如果請求總數(shù)已達(dá)到這個(gè)值(可通過ps ?ef|grep httpd|wc ?l來確認(rèn)),那么下面的請求就要排隊(duì),直到某個(gè)已處理請求完畢。這就是為什么系統(tǒng)資源還剩下很多,而http訪問卻很慢的主要原因。系統(tǒng)管理員可以根據(jù)硬件配置和負(fù)載情況來動(dòng)態(tài)調(diào)整這個(gè)值,雖然理論上這個(gè)值越大,可以處理的請求就越多,但Apache默認(rèn)的限制是不能大于256。如果把這個(gè)值設(shè)為大于256那么Apache將無法起動(dòng)。事實(shí)上,256對于負(fù)載稍重的站點(diǎn)也是很不夠的。在Apache1.3中這是個(gè)硬限制,如果要加大這個(gè)值,必須在configure前手工修改源代碼樹下的src/include/httpd.h,查找256,會(huì)發(fā)現(xiàn)#define HARD_SERVER_LIMIT 256這行,把256改為你要增大的值如4000,然后重新編譯Apache即可。我想這個(gè)方法稍有些經(jīng)驗(yàn)的Apache系統(tǒng)管理員都知道,不過我相信在Apache2.0中知道如何加大這個(gè)值的人就不會(huì)太多了。
  在Apache2.0中新加入了ServerLimit指令,使得無須重編譯Apache就可以加大MaxClients。下面是筆者的prefork配置段。
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000
  BTW: ServerLimit的最大值是20000,這對于大多數(shù)站點(diǎn)是足夠了,但如果你一定要再加大的話,那么這個(gè)值位于源代碼樹下的server/mpm/prefork/prefork.c中。里面的
#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000
這兩行就對應(yīng)著MaxClients和ServerLimit的限制值。但我相信很少有人可以用到20000的并發(fā)連接數(shù)。

標(biāo)簽: 代碼 服務(wù)器

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:linux配置ftp服務(wù)器

下一篇:FreeBSD Web服務(wù)器優(yōu)化