我的配置如下:
startservers 2
maxclients 150
minsparethreads 25
maxsparethreads 75
threadsperchild 25
maxrequestsperchild 0
serverlimit沒寫就是16,它決定系統最多啟動幾個httpd程序。
threadlimit 沒寫預設是64,
threadsperchild* serverlimit=25*16=400,
400就是系統理論支援的最大併發。
maxclientsmaxclients如果大於400將被限制在400.
400只是理論最大併發,實際併發就是maxclients的值。
理論併發有什麼用我不知道。
我做了如下試驗:
第一次,ab -n 10000 -c 5000
time taken for tests: 127.952487 seconds
requests per second: 78.15 [#/sec] (mean)
time per request: 63976.242 [ms] (mean)
time per request: 12.795 [ms] (mean, across all concurrent requests)
transfer rate: 22.89 [kbytes/sec] received
第二次,ab -n 10000 -c 400
time taken for tests: 138.340074 seconds
requests per second: 72.29 [#/sec] (mean)
time per request: 5533.603 [ms] (mean)
time per request: 13.834 [ms] (mean, across all concurrent requests)
transfer rate: 21.17 [kbytes/sec] received
第三次,ab -n 10000 -c 150
time taken for tests: 6.727553 seconds
requests per second: 1486.42 [#/sec] (mean)
time per request: 100.913 [ms] (mean)
time per request: 0.673 [ms] (mean, across all concurrent requests)
transfer rate: 435.37 [kbytes/sec] received
前提:訪問apache的靜態頁面,本機。
結論是:併發如果大於maxclients,伺服器的效率會很低,如果併發等於小於maxclients,10000個請求將迅速被處理完畢,效率很高。
疑問:400這個理論併發是不是就是用來限制maxclients的啊?或許吧。
下次再給nginx做個試驗看看同乙個頁面的處理能力,當然伺服器併發要設定成相同。
Apache工作模式
手工編譯安裝apache 解包 安裝手工編譯軟體包 yum install gcc gcc c pcre devel pcre zlib devel make y 執行configure make編譯 make make install 安裝完成之後建立一條軟鏈結 編輯主配置檔案 其餘配置與普通ap...
Apache 工作模式詳解
apache 工作模式詳解 apache 2.x 支援插入式並行處理模組,稱為多路處理模組 mpm 在編譯apache時必須選擇也只能選擇乙個mpm,對類unix系統,有幾個不同的mpm可供選擇,它們會影響到apache的速度和可伸縮性。apache啟動會通過指定ip監聽pid埠 會開通過主程序開啟...
在OpenBSD中安裝Apache
這幾天折騰openbsd。之前做過乙個虛擬機器,放在外網上做伺服器,結果宿主環境毀了,這個映象也就丟了。這次重安裝,竟然和重新弄完全一樣,大腦裡一點兒印象沒有。openbsd這個東西,不像centos和ubuntu,可以有非常好用的yum和apt get,它帶了個pkg add,也可以實現通過網路安...