Apache在Worker模式下的引數調整試驗

2021-08-22 19:56:05 字數 1649 閱讀 7949

我的配置如下:

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,也可以實現通過網路安...