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

首頁 > 網站 > WEB服務 > 正文

Apache中配置最大并發用戶數 tcp連接設置

2020-05-27 13:40:43
字體:
來源:轉載
供稿:網友

 Apache在配置編譯時可以自主的選擇想要使用的MPM模塊,使用./configure --with-mpm=MPM命令。我們主要了解prefork和worker這兩種MPM模塊。

Prefork如果不用“--with-mpm”顯式指定某種MPM,prefork就是Unix平臺上缺省的MPM。它所采用的預派生子進程方式,用單獨的子進程來處理不同的請求,進程之間彼此獨立。在make編譯和make install安裝后,使用httpd -l來確定當前使用的MPM是prefork.c。查看httpd-mpm.conf配置文件,里面包含如下默認的配置段:

 代碼如下<IfModule prefork.c>StartServers 5MinSpareServers 5MaxSpareServers 10MaxClients 150MaxRequestsPerChild 0</IfModule> 

prefork控制進程在最初建立“StartServers”個子進程后,為了滿足MinSpareServers設置的需要創建一個進程,等待一秒鐘,繼續創建兩個,再等待一秒鐘,繼續創建四個……如此按指數級增加創建的進程數,最多達到每秒32個,直到滿足MinSpareServers設置的值為止。這種模式可以不必在請求到來時再產生新的進程,從而減小了系統開銷以增加性能。MaxSpareServers設置了最大的空閑進程數,如果空閑進程數大于這個值,Apache會自動kill掉一些多余進程。這個值不要設得過大,但如果設的值比MinSpareServers小,Apache會自動把其調整為MinSpareServers+1。如果站點負載較大,可考慮同時加大MinSpareServers和MaxSpareServers。MaxRequestsPerChild設置的是每個子進程可處理的請求數。每個子進程在處理了“MaxRequestsPerChild”個請求后將自動銷毀。0意味著無限,即子進程永不銷毀。雖然缺省設為0可以使每個子進程處理更多的請求,但如果設成非零值也有兩點重要的好處:1、可防止意外的內存泄漏。2、在服務器負載下降的時侯會自動減少子進程數。因此,可根據服務器的負載來調整這個值。MaxClients是這些指令中最為重要的一個,設定的是Apache可以同時處理的請求,是對Apache性能影響最大的參數。其缺省值150是遠遠不夠的,如果請求總數已達到這個值(可通過ps -ef|grep http|wc -l來確認),那么后面的請求就要排隊,直到某個已處理請求完畢。這就是系統資源還剩下很多而HTTP訪問卻很慢的主要原因。雖然理論上這個值越大,可以處理的請求就越多,但Apache默認的限制不能大于256。ServerLimit指令無須重編譯Apache就可以加大MaxClients。ServerLimt應該放在第一個位置,放在其他指令之間不起作用(不明白原因)。

 代碼如下<IfModule prefork.c>ServerLimit  10000StartServers 5MinSpareServers 5MaxSpareServers 10MaxClients 10000MaxRequestsPerChild 0</IfModule>

Worker相對于prefork,worker全新的支持多線程和多進程混合模型的MPM。由于使用線程來處理,所以可以處理相對海量的請求,而系統資源的開銷要小于基于進程的服務器。但是,worker也使用了多進程,每個進程又生成多個線程,以獲得基于進程服務器的穩定性。在configure --with-mpm=worker后,進行make編譯、make install安裝。在缺省生成的httpd-mpm.conf中有以下默認配置段:

 代碼如下<IfModule worker.c>StartServers 2MaxClients 150MinSpareThreads 25MaxSpareThreads 75ThreadsPerChild 25MaxRequestsPerChild 0</IfModule> 

Worker由主控制進程生成“StartServers”個子進程,每個子進程中包含固定的ThreadsPerChild線程數,各個線程獨立地處理請求。同樣,為了不在請求到來時再生成線程,MinSpareThreads和MaxSpareThreads設置了最少和最多的空閑線程數;而MaxClients設置了同時連入的clients最大總數。如果現有子進程中的線程總數不能滿足負載,控制進程將派生新的子進程。MinSpareThreads和MaxSpareThreads的最大缺省值分別是75和250。這兩個參數對Apache的性能影響并不大,可以按照實際情況相應調節。ThreadsPerChild是worker MPM中與性能相關最密切的指令。ThreadsPerChild的最大缺省值是64,如果負載較大,64也是不夠的。這時要顯式使用ThreadLimit指令,它的最大缺省值是20000。Worker模式下所能同時處理的請求總數是由子進程總數乘以ThreadsPerChild值決定的,應該大于等于MaxClients。如果負載很大,現有的子進程數不能滿足時,控制進程會派生新的子進程。默認最大的子進程總數是16,加大時也需要顯式聲明ServerLimit(最大值是20000)。需要注意的是,如果顯式聲明了ServerLimit,那么它乘以ThreadsPerChild的值必須大于等于MaxClients,而且MaxClients必須是ThreadsPerChild的整數倍,否則Apache將會自動調節到一個相應值。

 代碼如下<IfModule worker.c>ServerLimit 25ThreadLimit 200StartServers 3MaxClients 2000MinSpareThreads 50MaxSpareThreads 200ThreadsPerChild 100MaxRequestsPerChild 0</IfModule>

下面是利用Apache自帶的測試工具ab對Server進行測試的情況(設定請求的index頁面為6bytes,Apache Server配置2cpu 2G memory),cpu%為cpu占用率,mem為內存使用量(M為單位),RequestsPerSecond為每秒處理的請求數。1、Prefor方式  (ServerLimit,StartServer,MinSpareServers,MaxSpareServers,MaxClients,MaxRequestPerChild)          

-n/-c(ab參數) Cpu% Mem Requestspersecond(-,5,5,10,150,0)100000/100 28.8 285 8434100000/200 29.2 304 8032100000/500 25.3 323 7348100000/1000 24.4 330 5886(10000,5,5,10,500,0)100000/100 28.7 371 8345100000/200 27.4 389 7929100000/500 24.9 417 7229100000/1000 23.4 437 6676(10000,5,5,10,1000,0)100000/100 28.8 408 8517100000/200 27.0 422 8045100000/500 24.2 455 7236100000/1000 22.5 470 6570(10000,5,5,10,1500,0)100000/100 29.6 330 8407100000/200 28.1 349 8014100000/500 26.4 380 7290100000/1000 24.0 400 6686 

2、Worker方式(ServerLimt,Threadlimt,Startservers,MaxClients,MinspareThread,MaxspareThread,ThreadperChild,MaxRequestPerChild)                 

-n/-c(ab參數) cpu% mem RequestsperSecond(50,500,5,10000,50,200,200,0)100000/100  18.6 188 6020100000/200 20.1 195 5892100000/500 19.8 209 5708100000/1000 22.2 218 6081(100,500,5,10000,50,200,100,0)100000/100  24.5 240 6919100000/200 23.6 247 6798100000/500 24.6 254 6827100000/1000 22.3 271 6114(200,500,5,10000,50,200,50,0)100000/100  27.3 301 7781100000/200 27.4 307 7789100000/500 26.0 320 7141100000/1000 21.8 344 6110

相對來說,prefork方式速度要稍高于worker,然而它需要的cpu和memory資源也稍多于woker。

下面貼出我的系統mpm文件

 

 代碼如下## Server-Pool Management (MPM specific)#

## PidFile: The file in which the server should record its process# identification number when it starts.## Note that this is the default PidFile for most MPMs.#<IfModule !mpm_netware_module>    PidFile "logs/httpd.pid"</IfModule>

## The accept serialization lock file MUST BE STORED ON A LOCAL DISK.#<IfModule !mpm_winnt_module><IfModule !mpm_netware_module>LockFile "logs/accept.lock"</IfModule></IfModule>

## Only one of the below sections will be relevant on your# installed httpd.  Use "apachectl -l" to find out the# active mpm.#

# prefork MPM# StartServers: number of server processes to start# MinSpareServers: minimum number of server processes which are kept spare# MaxSpareServers: maximum number of server processes which are kept spare# MaxClients: maximum number of server processes allowed to start# MaxRequestsPerChild: maximum number of requests a server process serves<IfModule mpm_prefork_module>    StartServers          5    MinSpareServers       5    MaxSpareServers      10    MaxClients          150    MaxRequestsPerChild   0</IfModule>

# worker MPM# StartServers: initial number of server processes to start# MaxClients: maximum number of simultaneous client connections# MinSpareThreads: minimum number of worker threads which are kept spare# MaxSpareThreads: maximum number of worker threads which are kept spare# ThreadsPerChild: constant number of worker threads in each server process# MaxRequestsPerChild: maximum number of requests a server process serves<IfModule mpm_worker_module>    StartServers          2    MaxClients          150    MinSpareThreads      25    MaxSpareThreads      75    ThreadsPerChild      25    MaxRequestsPerChild   0</IfModule>

# BeOS MPM# StartThreads: how many threads do we initially spawn?# MaxClients:   max number of threads we can have (1 thread == 1 client)# MaxRequestsPerThread: maximum number of requests each thread will process<IfModule mpm_beos_module>    StartThreads            10    MaxClients              50    MaxRequestsPerThread 10000</IfModule>

# NetWare MPM# ThreadStackSize: Stack size allocated for each worker thread# StartThreads: Number of worker threads launched at server startup# MinSpareThreads: Minimum number of idle threads, to handle request spikes# MaxSpareThreads: Maximum number of idle threads# MaxThreads: Maximum number of worker threads alive at the same time# MaxRequestsPerChild: Maximum  number of requests a thread serves. It is#                      recommended that the default value of 0 be set for this#                      directive on NetWare.  This will allow the thread to#                      continue to service requests indefinitely.                         <IfModule mpm_netware_module>    ThreadStackSize      65536    StartThreads           250    MinSpareThreads         25    MaxSpareThreads        250    MaxThreads            1000    MaxRequestsPerChild      0    MaxMemFree             100</IfModule>

# OS/2 MPM# StartServers: Number of server processes to maintain# MinSpareThreads: Minimum number of idle threads per process,#                  to handle request spikes# MaxSpareThreads: Maximum number of idle threads per process# MaxRequestsPerChild: Maximum number of connections per server process<IfModule mpm_mpmt_os2_module>    StartServers           2    MinSpareThreads        5    MaxSpareThreads       10    MaxRequestsPerChild    0</IfModule>

# WinNT MPM# ThreadsPerChild: constant number of worker threads in the server process# MaxRequestsPerChild: maximum  number of requests a server process serves<IfModule mpm_winnt_module>    ThreadsPerChild      150    MaxRequestsPerChild    0</IfModule>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品人伦一区二区三区蜜桃网站| 91精品免费视频| 中文字幕国产精品| 一本色道久久88亚洲综合88| 欧美成人自拍视频| 国产精品扒开腿爽爽爽视频| 日韩亚洲精品视频| 51精品国产黑色丝袜高跟鞋| 亚洲黄色有码视频| 色一情一乱一区二区| 日韩在线视频国产| 亚洲福利视频网| 91亚洲精品久久久| 亚洲香蕉av在线一区二区三区| 国产精品狠色婷| 97视频国产在线| 成人免费视频xnxx.com| 久久久亚洲精选| 97视频在线观看免费高清完整版在线观看| 亚洲精品wwww| 国产视频在线一区二区| 91美女片黄在线观| 91精品国产综合久久香蕉最新版| 色偷偷888欧美精品久久久| 欧美精品在线免费观看| 亚洲午夜性刺激影院| 欧美日韩成人在线观看| 亚洲片国产一区一级在线观看| 91av免费观看91av精品在线| 精品女同一区二区三区在线播放| 综合国产在线观看| 亚洲一区二区三区毛片| 国产欧美日韩中文字幕| 成人免费视频在线观看超级碰| 欧美多人乱p欧美4p久久| 91免费高清视频| 91精品久久久久久久久久久久久久| 国产精品一区二区三区成人| 久久久久久久久久久久久久久久久久av| 91精品91久久久久久| 欧美裸身视频免费观看| 68精品国产免费久久久久久婷婷| 亚洲欧美另类在线观看| 日韩欧美中文字幕在线观看| 日本乱人伦a精品| 尤物99国产成人精品视频| 精品亚洲一区二区三区在线播放| 日韩视频免费在线| 日韩精品视频免费在线观看| 国产欧美亚洲精品| 国内精品视频在线| 国产精品永久免费在线| 九九热这里只有精品6| 欧美色视频日本版| 91网站免费观看| 91在线中文字幕| 亚洲一区精品电影| 欧美激情欧美激情| 久久久久久中文字幕| 久青草国产97香蕉在线视频| 97热精品视频官网| 欧美日本啪啪无遮挡网站| 91精品国产乱码久久久久久久久| 亚洲精品久久久久久久久| 久久精品视频99| 91久久在线视频| 中文字幕精品在线视频| 精品国产91久久久| 国产午夜精品理论片a级探花| 亚洲无亚洲人成网站77777| 91精品国产高清自在线看超| 在线视频国产日韩| 欧美激情亚洲综合一区| 日韩精品中文字幕在线播放| 日韩亚洲欧美中文高清在线| 久久手机免费视频| 精品久久久久人成| 成人黄色影片在线| 欧美影院成年免费版| 久久99久久99精品免观看粉嫩| 成人激情视频在线播放| 色偷偷噜噜噜亚洲男人的天堂| 日韩成人在线电影网| 午夜精品一区二区三区在线视频| 91精品国产91久久久久久不卡| 亚洲欧美资源在线| 456国产精品| 日韩精品视频中文在线观看| 在线不卡国产精品| 欧美重口另类videos人妖| 久久精品99久久久香蕉| 精品在线观看国产| 中日韩午夜理伦电影免费| 夜夜嗨av色综合久久久综合网| 国产欧美精品一区二区三区介绍| 欧美激情一区二区三区久久久| 国产欧美日韩视频| 免费91在线视频| 色噜噜亚洲精品中文字幕| 57pao成人国产永久免费| 性夜试看影院91社区| 亚洲欧美日韩视频一区| 国产精品亚洲网站| 欧美日韩成人在线播放| 国产精品久久久久久av| 亚洲人免费视频| 国产精品久久一区| 亚洲第一av在线| 高清亚洲成在人网站天堂| 国产精品九九久久久久久久| 欧美精品激情视频| 久久视频在线视频| 91精品国产高清| 日韩欧美黄色动漫| 91久久综合亚洲鲁鲁五月天| 亚洲在线视频福利| 国产精品日本精品| 在线视频国产日韩| 中文字幕亚洲欧美日韩在线不卡| 国产精品久久久久7777婷婷| 综合国产在线观看| 欧美亚洲日本网站| 国产一区二区三区在线播放免费观看| 欧美大片在线看| 欧美在线欧美在线| 2019中文字幕全在线观看| 日韩美女视频中文字幕| 亚洲精品456在线播放狼人| 成人美女免费网站视频| 91成人国产在线观看| 成人国产在线视频| 97国产真实伦对白精彩视频8| 日韩视频在线一区| 欧美激情一级精品国产| 最近2019年手机中文字幕| 自拍偷拍亚洲精品| 国产成人亚洲综合| 高清欧美一区二区三区| 国产69精品久久久久9999| 日韩第一页在线| 欧美激情精品久久久久久大尺度| 国产日韩精品一区二区| 亚洲xxxxx电影| 91极品视频在线| 国产在线精品播放| 亚洲视频一区二区三区| 日韩在线观看网址| 久久精品视频99| 中文字幕亚洲综合久久| 亚洲一区中文字幕在线观看| 亚洲精品国产欧美| 国产深夜精品福利| 欧美极品少妇全裸体| 91系列在线观看| 亚洲丁香婷深爱综合| 亚洲天堂男人天堂| 国产精品无av码在线观看| 久久91亚洲人成电影网站| 亚洲www在线| 精品无人区太爽高潮在线播放| 亚洲曰本av电影| 久久久久久久久91| 亚洲乱码一区二区| 97高清免费视频|