您好,登錄后才能下訂單哦!
命令格式ab [options] 網站網址
參數說明-n、-c、-t、-v
示例
/usr/local/httpd/bin/ab -n5000 -c900 www.bt.com/index.html
在測試時要根據情況調整求總數與并發用戶數
參數 | 描述 |
---|---|
Server Software |
http 響應數據的頭信息 |
Server Hostname |
請求的url 中的主機名稱 |
Server Port |
web 服務器軟件的監聽端口 |
Document Path |
請求的url 根的絕對路徑 |
Document Length |
http 響應數據的正文長度 |
Concurrency Level |
并發的用戶數 |
Time taken for tests |
所有這些請求被處理完成所花費的時間總和 |
Complete requests |
表示總請求數 |
Failed requests |
失敗的請求總數 |
Total transferred |
請求的響應數據長度總和 |
Requests per second |
服務器的吞吐率,每秒處理的請求數 |
Time per request |
用戶平均請求等待時間 |
Time per request |
每個請求實際運行時間的平均值 |
Percentage of the requests served within a certain time (ms) |
描述每 個請求處理時間的分布情況 |
[root@localhost bin]# ab -n 20000 -c 500 www.kgc.com/index.html //使用命令測試
This is ApacheBench, Version 2.3 <$Revision: 1807734 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking www.kgc.com (be patient)
Completed 2000 requests
Completed 4000 requests
Completed 6000 requests
Completed 8000 requests
Completed 10000 requests
Completed 12000 requests
Completed 14000 requests
Completed 16000 requests
Completed 18000 requests
Completed 20000 requests
Finished 20000 requests
Server Software: Apache
Server Hostname: www.kgc.com
Server Port: 80
Document Path: /index.html
Document Length: 68 bytes
Concurrency Level: 500
Time taken for tests: 1.237 seconds
Complete requests: 20000
Failed requests: 0
Total transferred: 7300000 bytes
HTML transferred: 1360000 bytes
Requests per second: 16169.67 [#/sec] (mean)
Time per request: 30.922 [ms] (mean)
Time per request: 0.062 [ms] (mean, across all concurrent requests)
Transfer rate: 5763.60 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 5 60.3 1 1004
Processing: 0 14 49.6 6 808
Waiting: 0 12 49.5 5 808
Total: 1 19 78.2 8 1201
Percentage of the requests served within a certain time (ms)
50% 8
66% 9
75% 9
80% 10
90% 13
95% 17
98% 211
99% 406
100% 1201 (longest request)
Apache
工作模式Apache
工作模式介紹Apache
作為現今web服務器用的最廣泛也是最穩定的開源服務器軟件httpd-mpm.conf
文件,該文件位于extra/conf
目錄中event
模式、worker
模式prefork
模式[root@apache1 bin]# ./httpd -l //查看apache當前工作模式
Compiled in modules:
core.c
mod SO.c
http_ core.c
event.c
event
作模式介紹event
是Apache
最新的工作模式,它和worker
模式很像,不同的是在于它解決了keep-alive
長連接的時候占用線程資源被浪費的問題event
工作模式在遇到某些不兼容的模塊時,會失效,將會回退到worker
模式event
工作模式需要Linux
系統(Linux 2.6+)
對epoll
的支持,才能啟用。需要補充的是HTTPS
的連接(SSL
)event
工作方式event
工作模式中,會有一些專門的線程用來管理這些keep-alive
類型的線程event
參數講解在httpd-mpm.conf
配置文件中, 以下是prefork
模塊的定義
< IfModule mpm_event_module>
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
MaxRequestWorkers 400
MaxConnectionsPerChild 0
</lfModule>
參數說明
參數 |
說明 |
---|---|
StartServers |
服務啟動時初始的進程數,默認3 |
MinSpare Threads |
最小的空閑子進程數,默認75 |
MaxSpare Threads |
最大的空閑子進程數,默認250 |
ThreadsPerChild |
每個子進程產生的線程數量,默認是25 |
MaxRequestWorkers |
限定同一時間內客戶端最大接入的請求數量,默認是400 |
MaxConnectionsPerChild |
每個子進程在其生命周期內允許最大的請求數量,如果請求總數已經達到這個數值,子進程將會結束,如果設置為0,子進程將永遠不會結束。將該值設置為非0值,可以防止運行PHP導致的內存泄露 |
event
優化建議<IfModule mpm_event_module>
ServerLimit 1000
StartServers 20
MinSpareThreads 25
MaxSpareThreads 1200
ThreadsPerChild 50
MaxRequestWorkers 2000
MaxConnectionsPerChild 1000
</IfModule>
prefork
作模式介紹prefork
是一個多路處理模塊(MPM
),實現了一個進程型的、預派生的web
服務器,適合于沒有線程安全庫、需要避免線程兼容性問題的系統MaxClients
設置為一個足夠大的數值以處理潛在的請求高峰,同時又不能太大,以避免所需的內存超出物理內存的大小prefork
工作模式方式spare
)或是空閑的子進程用3 F響應新的請求,可加快響應速度root
身份運行,以便綁定80
端口,子進程通常以一個低特權的用戶運行,可通過配置項的User
和Group
配置prefork
模式,可用httpd -l
查看prefork
參數講解在httpd-mpm.conf
配置文件中,以下是prefork
模塊的定義
< IfModule mpm_prefork_module>
StartServers 20
MinSpareServers 10
MaxSpareServers 50
MaxClients 150
MaxRequestsPerChild 0
</lfModule>
參數 | 說明 |
---|---|
ServerLimit |
最大進程數 |
StartServers |
啟動的時候創建的進程數量 |
MinSpareServers |
最少空閑進程 |
MaxSpareServers |
最多空閑進程 |
MaxClients |
最多創建多少個子進程用來處理請求 |
MaxRequestsPerChild |
每個進程處理的最大請求數,達到請求數,進程即被銷毀,如果設置為0,子進程永遠不會結束 |
prefork
優化建議<IfModule mpm_prefork_module>
ServerLimit 1000
StartServers 10
MinSpareServers 10
MaxSpareServers 30
MaxClients 1000
MaxRequestsPerChild 5000
</IfModule>
worker
工作模式介紹worker
也是多路處理模塊(MPM
),使網絡服務器支持混合的多線程多進程ThreadsPerChild
指令和控制允許建立的總線程數的MaxClients
指令ThreadsPerChild
數量的服務線程和一個監聽線程,監聽線程監聽接入請求并將其傳遞給服務線程處理和應答Apache
總是會維持一個備用(spare
)或是空閑的服務線程池,客戶端無須等待新線程或新進程的建立即可得到服務root
身份啟動,以綁定80
端口;隨后,Apache
以較低權限的用戶建立子進程和線程User
和Group
指令用于配置Apache
子進程的運行用戶。子進程要對網頁內容擁有讀權限,但應該盡可能限制權限worker
參數講解參數 | 說明 |
---|---|
ServerLimit |
最大進程數,默認值是"16" |
ThreadLimit |
每個子進程的最大線程數,默認值是“64” |
StartServers |
服務器啟動時建立的子進程數,默認值是"3" |
MaxClients |
允許同時接受的最大接入請求數量(最大線程數量) |
MinSpareThreads |
最小空閑線程數默認值是"75" |
MaxSpareThreads |
設置最大空閑線程數。默認值是"250" |
ThreadsPerChild |
每個子進程建立的常駐的執行線程數。默認值是25 |
MaxRequestsPerChild |
設置每個子進程在其生存期內允許伺服的最大請求數量。設置為"0" ,子進程將永遠不會結束 |
<IfModule mpm_worker_module>
ServerLimit 40
ThreadLimit 200
StartServers 20
MaxClients 1000
MinSpareThreads 25
MaxSpareThreads 100
ThreadsPerChild 200
MaxRequestsPerChild 1000
</IfModule>
<Directory目錄路徑>
和</Directory>
這對語句為主目錄或虛擬目錄設置權限參數 | 作用 |
---|---|
Options |
設置在特定目錄使用哪些特性 |
AllowOverride |
允許存在于.htaccess 文件中的指令類型 |
Require |
設置目錄的訪問控制 |
Indexes |
當用戶訪問該目錄時,但沒有指定要訪問哪個文件,而且目錄下不存在默認網頁時,返回目錄中的文件和子目錄列表 |
MultiViews |
內容協商的多重視圖,Apache 的一 個智能特性。當訪問目錄中不存在的對象時 |
ExecCGI |
允許在該目錄下執行CGI 腳本 |
FollowSymLinks |
在該目錄下允許文件系統使用符號連接 |
Includes |
允許服務器端包含功能 |
IncludesNoExec |
允許服務器端包含功能,但禁止執行CGI 腳本 |
All |
包含除了MultiViews 之外所有特性,如果沒有Options 語句,默認為All |
Options
應該設為None
,以防止目錄上內容暴露出去,造成安全隱患AllowOverride
設為None
,禁. 止使用.htaccess
文件,而將目錄訪問控制放在主配置文件的<Directory>
和</Directory>
之間Require
的控制對象,以控制客戶端的訪問免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。