壓測常用工具有:ab、http_load、webbench、siege。其中 ab 就是乙個非常使用的命令,可以測試近乎所有的伺服器,他的命令格式如下
ab -h
其中-n表示請求數,-c表示併發數
ab -n 100 -c 10
ab 有限制,併發數不能超過 100。尋求其他做壓力測試的工具。
具體執行如下:
$ ab -n 100 -c 10
this is apachebench, version 2.3 <$revision: 1826891 $> (伺服器版本)
licensed to the apache software foundation,
benchmarking blog.souche.com (be patient).....done
server software:
server hostname: blog.souche.com
server port: 443
ssl/tls protocol: tlsv1.2,ecdhe-rsa-aes128-gcm-sha256,2048,128
tls server name: blog.souche.com
document path: /
document length: 41251 bytes (此url返回的文件大小)
concurrency level: 10 (併發數)
time taken for tests: 7.713 seconds (壓測消耗總時間)
complete requests: 100 (總請求數)
failed requests: 0
total transferred: 4153100 bytes (傳輸的總資料量)
html transferred: 4125100 bytes (html 文件的總資料量)
requests per second: 12.96 [#/sec] (mean) (吞吐率,也就是平均每秒請求數)
transfer rate: 525.81 [kbytes/sec] received (傳輸速率)
connection times (ms)
min mean[+/-sd] median max
connect: 31 59 20.7 57 168
processing: 114 670 121.1 664 924
waiting: 101 652 121.6 652 905
total: 247 729 120.1 730 1085
percentage of the requests served within a certain time (ms)
50% 730
66% 755
75% 779
80% 809
90% 909
95% 950
98% 966
99% 1085
100% 1085 (longest request)
吞吐率(requests per second)是越大越好。
如果把上面的命令換成ab -n 1000 -c 100
,做個更大壓力的測試,最關鍵的幾條測試結果如下:
requests per second: 15.61 [#/sec] (mean) (平均每秒請求數)
time per request: 6407.951 [ms] (mean) (使用者平均請求等待時間)
time per request: 64.080 [ms] (mean, across all concurrent requests) (伺服器平均請求等待時間)
transfer rate: 632.93 [kbytes/sec] received
似乎效能還提高了?這是因為吞吐率指的是在某個併發使用者數下單位時間內處理的請求數,不同併發使用者數下,吞吐率一般是不同的,其數值自然是越大越好。
ab 是 apachebench 命令的縮寫。會建立多個併發執行緒訪問,模擬多個訪問者同時對某一 url 位址進行訪問。它的測試目標是基於 url 的,因此,它既可以用來測試 apache 的負載壓力,也可以測 試nginx、lighthttp、tomcat、iis 等其它 web 伺服器的壓力。
ab 命令對發出負載的計算機要求很低,它既不會占用很高cpu,也不會占用很多記憶體。但卻會給目標伺服器造成巨大的負載。類似 cc 攻擊。
apache的ab壓力測試介紹
1 ab命令原理 apache的ab命令模擬多執行緒併發請求,測試伺服器負載壓力,也可以測試nginx lighthttp iis等其它web伺服器的壓力。ab命令對發出負載的計算機要求很低,既不會占用很多cpu,也不會占用太多的記憶體,但卻會給目標伺服器造成巨大的負載,因此是某些ddos攻擊之必備...
ab 壓力測試
apache自帶的ab的壓力測試 以前安裝好apache總是不知道該如何測試apache的效能,現在總算找到乙個測試工具了。就是apache自帶的測試工具ab apache benchmark 在apache的bin目錄下。格式 ab options http hostname port path ...
ab壓力測試
1.我的環境是windows下的phpstudy,進入到apache bin目錄裡面有個ab.exe,壓力測試命令如下 ab.exe c 200 n 1000 2.mysql.php 如下 正常的邏輯思維,壓力增大後,導致資料庫num欄位成為負數,將下面 貼上到自己 下測試即可。在test資料庫下,...