99久久国产露脸精品麻豆,欧美日韩精品小说,亚洲免费在线美女视频,国产三级中文字幕,91极品国产情侣高潮对白,国产亚洲一区二区三区不卡片,欧美jizz精品欧美性,久久国产精品久久国产片

Linux下ab壓力測試

袁志蒙 7089次瀏覽

摘要:本篇文章主要講解如何在Linux下使用ab壓力測試工具進行網站訪問壓力測試,并使用ab對YzmCMS網站進行并發(fā)壓力測評,驗證YzmCMS系統(tǒng)性能,ab是apachebench命令的縮寫,ab是apache自帶的壓力測試工具...

一.ab的簡介

ab是apachebench命令的縮寫,ab是apache自帶的壓力測試工具。ab非常實用,它不僅可以對apache服務器進行網站訪問壓力測試,也可以對或其它類型的服務器進行壓力測試。比如nginx、tomcat、IIS等。

二.ab的原理

ab的原理:ab命令會創(chuàng)建多個并發(fā)訪問線程,模擬多個訪問者同時對某一URL地址進行訪問。它的測試目標是基于URL的,因此,它既可以用來測試apache的負載壓力,也可以測試nginx、lighthttp、tomcat、IIS等其它Web服務器的壓力。

ab命令對發(fā)出負載的計算機要求很低,它既不會占用很高CPU,也不會占用很多內存。但卻會給目標服務器造成巨大的負載,其原理類似CC攻擊。自己測試使用也需要注意,否則一次上太多的負載??赡茉斐赡繕朔掌髻Y源耗完,嚴重時甚至導致死機。

三.ab的安裝

yum -y install httpd-tools

測試安裝是否成功:

[root@yzmcms /]# ab -V
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

四.性能指標

吞吐量(Requests per second):

服務器并發(fā)處理能力的量化描述,單位是reqs/s,指的是在某個并發(fā)用戶數(shù)下單位時間內處理的請求數(shù)。某個并發(fā)用戶數(shù)下單位時間內能處理的最大請求數(shù),稱之為最大吞吐率。

記?。和掏侣适腔诓l(fā)用戶數(shù)的。這句話代表了兩個含義:

a、吞吐率和并發(fā)用戶數(shù)相關

b、不同的并發(fā)用戶數(shù)下,吞吐率一般是不同的

計算公式:總請求數(shù)/處理完成這些請求數(shù)所花費的時間,即

Request per second=Complete requests/Time taken for tests

必須要說明的是,這個數(shù)值表示當前機器的整體性能,值越大越好。


并發(fā)連接數(shù)(The number of concurrent connections):

并發(fā)連接數(shù)指的是某個時刻服務器所接受的請求數(shù)目,簡單的講,就是一個會話。


并發(fā)用戶數(shù)(Concurrency Level):

要注意區(qū)分這個概念和并發(fā)連接數(shù)之間的區(qū)別,一個用戶可能同時會產生多個會話,也即連接數(shù)。在HTTP/1.1下,IE7支持兩個并發(fā)連接,IE8支持6個并發(fā)連接,F(xiàn)ireFox3支持4個并發(fā)連接,所以相應的,我們的并發(fā)用戶數(shù)就得除以這個基數(shù)。


用戶平均請求等待時間(Time per request):

計算公式:處理完成所有請求數(shù)所花費的時間/(總請求數(shù)/并發(fā)用戶數(shù)),即:

Time per request=Time taken for tests/(Complete requests/Concurrency Level)


服務器平均請求等待時間(Time per request:across all concurrent requests):

計算公式:處理完成所有請求數(shù)所花費的時間/總請求數(shù),即:

Time taken for/testsComplete requests

可以看到,它是吞吐率的倒數(shù)。

同時,它也等于用戶平均請求等待時間/并發(fā)用戶數(shù),即

Time per request/Concurrency Level

五.ab測試實例:

模擬GET請求:

ab -c 10 -n 100 https://www.yzmask.com/index/test

-c 10表示并發(fā)用戶數(shù)為 10

-n 100表示請求總數(shù)為 100


模擬POST請求:

ab -c 10 -n 100 -p '/tmp/post.txt' -T 'application/x-www-form-urlencoded' 'https://www.yzmask.com/index/test/post'

-p 模擬post請求,文件格式為 name=yzmcms&status=1 ,配合-T使用

-T post數(shù)據(jù)所使用的Content-Type頭信息,例如-T 'application/x-www-form-urlencoded'

POST請求時需把post的數(shù)據(jù)寫入到文件內,然后 -p '文件地址'即可


返回結果說明:

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.yzmask.com (be patient).....done


Server Software:        nginx  #測試服務器的名字
Server Hostname:        www.yzmask.com  #請求的URL主機名
Server Port:            80  #web服務器監(jiān)聽的端口

Document Path:          /index/test/post  #請求的URL中的根絕對路徑
Document Length:        1 bytes #HTTP響應數(shù)據(jù)的正文長度

Concurrency Level:      10  # 并發(fā)用戶數(shù),這是我們設置的參數(shù)之一
Time taken for tests:   0.432 seconds  #所有這些請求被處理完成所花費的總時間 單位秒
Complete requests:      100  # 總請求數(shù)量,這是我們設置的參數(shù)之一
Failed requests:        0  # 表示失敗的請求數(shù)量,這里的失敗是指請求在連接服務器、發(fā)送數(shù)據(jù)等環(huán)節(jié)發(fā)生異常,以及無響應后超時的情況

Write errors:           0 
Total transferred:      18000 bytes #所有請求的響應數(shù)據(jù)長度總和。包括每個HTTP響應數(shù)據(jù)的頭信息和正文數(shù)據(jù)的長度
Total body sent:        20400  
HTML transferred:       200 bytes  # 所有請求的響應數(shù)據(jù)中正文數(shù)據(jù)的總和,也就是減去了Total transferred中HTTP響應數(shù)據(jù)中的頭信息的長度
Requests per second:    231.44 [#/sec] (mean)  #吞吐率,計算公式:Complete requests/Time taken for tests  總請求數(shù)/處理完成這些請求數(shù)所花費的時間
Time per request:       43.207 [ms] (mean)  # 用戶平均請求等待時間,計算公式:Time token for tests/(Complete requests/Concurrency Level)。處理完成所有請求數(shù)所花費的時間/(總請求數(shù)/并發(fā)用戶數(shù))
Time per request:       4.321 [ms] (mean, across all concurrent requests) #服務器平均請求等待時間,計算公式:Time taken for tests/Complete requests,正好是吞吐率的倒數(shù)。也可以這么統(tǒng)計:Time per request/Concurrency Level
Transfer rate:          40.68 [Kbytes/sec] received
                        46.11 kb/s sent
                        86.79 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        8   12   2.5     12      16
Processing:    14   28   7.4     28      44
Waiting:       14   28   7.4     28      44
Total:         23   40   8.3     40      58

Percentage of the requests served within a certain time (ms)
  50%     40
  66%     44
  75%     45
  80%     47
  90%     50
  95%     55
  98%     56
  99%     58
 100%     58 (longest request)


總結:ab確實是一款比較好用的壓力測試工具,經過反復測試,YzmCMS系統(tǒng)果然不負所望,在高并發(fā)請求時頁面打開速度毫無影響,相對于其他開源產品明顯表現(xiàn)的更加高效

關于YzmCMS測評還有另外一篇文章,大家如果有興趣可以查看:YzmCMS百萬數(shù)據(jù)負載測評!


隨機內容

表情

共3條評論