1. 程式人生 > >Linux下效能測試

Linux下效能測試

轉載文章:http://blog.51cto.com/wushank/1585927

linux下的CPU、記憶體、IO、網路的壓力測試

一、對CPU進行簡單測試:

1、通過bc命令計算特別函式

例:計算圓周率

echo "scale=5000; 4*a(1)" | bc -l -q

MATH LIBRARY 
       If bc is invoked with the -l option, a math library is preloaded and the default  scale  is  set  to  20. 
       The  math  functions  will  calculate their results to the scale set at the time of their call.  The math 
       library defines the following functions: 
       s (x)  The sine of x, x is in radians.    正玄函式 
       c (x)  The cosine of x, x is in radians.  餘玄函式 
       a (x)  The arctangent of x, arctangent returns radians. 反正切函式 
       l (x)  The natural logarithm of x.  log函式(以2為底) 
       e (x)  The exponential function of raising e to the value x.  e的指數函式 
       j (n,x) The bessel function of integer order n of x.   貝塞爾函式 

2、工具二:Super Pi for linux

Super PI是利用CPU的浮點運算能力來計算出π(圓周率),所以目前普遍被超頻玩家用做測試系統穩定性和測試CPU計算完後特定位數圓周率所需的時間。
http://www.super-computing.org/
下載頁:ftp://pi.super-computing.org/

wget ftp://pi.super-computing.org/Linux/super_pi.tar.gz
tar -xzvf super_pi.tar.gz
./super_pi 20
20為位數。表示要算2的多少次方位,如通常要算小數點後1M位。

wKiom1R-rnXCmbdwAASCjAYEnzQ462.jpg

二、對記憶體進行簡單測試:

用法:Usage: ./memtester [-p physaddrbase [-d device]] <mem>[B|K|M|G] [loops]


例:memtester 1G 5
wKioL1R-s8yAbf4yAAKk1_Y7zbE003.jpg

三、對IO進行簡單測試:

1、利用dd來進行測試:

time dd if=/dev/zero of=test bs=1M count=4096 

用top和iostat檢視wa%及寫硬碟速度

2、使用fio命令進行測試:

FIO是測試IOPS的非常好的工具,用來對硬體進行壓力測試和驗證,支援13種不同的I/O引擎,
包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。 

說明: 
filename=/dev/sdb1 測試檔名稱,通常選擇需要測試的盤的data目錄。 
direct=1 測試過程繞過機器自帶的buffer。使測試結果更真實。 
rw=randwrite 測試隨機寫的I/O 
rw=randrw 測試隨機寫和讀的I/O 
bs=16k 單次io的塊檔案大小為16k 
bsrange=512-2048 同上,提定資料塊的大小範圍 
size=5g 本次的測試檔案大小為5g,以每次4k的io進行測試。 
numjobs=30 本次的測試執行緒為30. 
runtime=1000 測試時間為1000秒,如果不寫則一直將5g檔案分4k每次寫完為止。 
ioengine=psync io引擎使用pync方式 
rwmixwrite=30 在混合讀寫的模式下,寫佔30% 
group_reporting 關於顯示結果的,彙總每個程序的資訊。 
此外 
lockmem=1g 只使用1g記憶體進行測試。 
zero_buffers 用0初始化系統buffer。 
nrfiles=8 每個程序生成檔案的數量。

隨機讀: 
fio --filename=/dev/sda3 --direct=1 --iodepth 1 --thread --rw=randread --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest 
順序讀: 
fio --filename=/dev/sda3 --direct=1 --iodepth 1 --thread --rw=read --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest 
隨機寫: 
fio --filename=/dev/sda3 --direct=1 --iodepth 1 --thread --rw=randwrite --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest 
順序寫: 
fio --filename=/dev/sda3 --direct=1 --iodepth 1 --thread --rw=write --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest 
混合隨機讀寫: 
fio --filename=/dev/sda3 --direct=1 --iodepth 1 --thread --rw=randrw --rwmixread=70 --ioengine=psync --bs=4k --size=2G --numjobs=10 --runtime=100 --group_reporting --name=mytest --ioscheduler=noop 

3、iozone測試

IOZONE主要用來測試作業系統檔案系統性能的測試工具,該工具所測試的範圍主要有,write , Re-write, Read, Re-Read, Random Read, Random Write, Random Mix, Backwards Read, Record Rewrite, Strided Read, Fwrite, Frewrite, Fread, Freread, Mmap, Async I/O

使用iozone可以在多執行緒、多cpu,並指定cpu cache空間大小以及同步或非同步I/O讀寫模式的情況下進行測試檔案操作效能;

(0=write/rewrite, 1=read/re-read, 2=random-read/write
3=Read-backwards, 4=Re-write-record, 5=stride-read, 6=fwrite/re-fwrite, 7=fread/Re-fread, 
8=random mix, 9=pwrite/Re-pwrite, 10=pread/Re-pread, 11=pwritev/Re-pwritev, 12=preadv/Re-preadv).

Write: 測試向一個新檔案寫入的效能。當一個新檔案被寫入時,不僅僅是那些檔案中的資料需要被儲存,還包括那些用於定位資料儲存在儲存介質的具體位置的額外資訊。這些額外資訊被稱作“元資料”。它包括目錄資訊,所分配的空間和一些與該檔案有關但又並非該檔案所含資料的其他資料。拜這些額外資訊所賜,Write的效能通常會比Re-write的效能低。
Re-write: 測試向一個已存在的檔案寫入的效能。當一個已存在的檔案被寫入時,所需工作量較少,因為此時元資料已經存在。Re-write的效能通常比Write的效能高。
Read: 測試讀一個已存在的檔案的效能。
Re-Read: 測試讀一個最 近讀過的檔案的效能。Re-Read效能會高些,因為作業系統通常會快取最 近讀過的檔案資料。這個快取可以被用於讀以提高效能。
Random Read: 測試讀一個檔案中的隨機偏移量的效能。許多因素都可能影響這種情況下的系統性能,例如:作業系統快取的大小,磁碟數量,尋道延遲和其他。
Random Write: 測試寫一個檔案中的隨機偏移量的效能。同樣,有許多因素可能影響這種情況下的系統性能,例如:作業系統快取的大小,磁碟數量,尋道延遲和其他。
Random Mix: 測試讀寫一個檔案中的隨機偏移量的效能。許多因素可能影響這種情況下的系統性能運作,例如:作業系統快取的大小,磁碟數量,尋道延遲和其他。這個測試只有在吞吐量測試模式下才能進行。每個執行緒/程序執行讀或寫測試。這種分散式讀/寫測試是基於round robin 模式的。最好使用多於一個執行緒/程序執行此測試。
Backwards Read: 測試使用倒序讀一個檔案的效能。這種讀檔案方法可能看起來很可笑,事實上,有些應用確實這麼幹。MSC Nastran是一個使用倒序讀檔案的應用程式的一個例子。它所讀的檔案都十分大(大小從G級別到T級別)。儘管許多作業系統使用一些特殊實現來優化順序讀檔案的速度,很少有作業系統注意到並增強倒序讀檔案的效能。
Record Rewrite: 測試寫與覆蓋寫一個檔案中的特定塊的效能。這個塊可能會發生一些很有趣的事。如果這個塊足夠小(比CPU資料快取小),測出來的效能將會非常高。如果比CPU資料快取大而比TLB小,測出來的是另一個階段的效能。如果比此二者都大,但比作業系統快取小,得到的效能又是一個階段。若大到超過作業系統快取,又是另一番結果。
Strided Read: 測試跳躍讀一個檔案的效能。舉例如下:在0偏移量處讀4Kbytes,然後間隔200Kbytes,讀4Kbytes,再間隔200Kbytes,如此反覆。此時的模式是讀4Kbytes,間隔200Kbytes並重復這個模式。這又是一個典型的應用行為,檔案中使用了資料結構並且訪問這個資料結構的特定區域的應用程式常常這樣做。
許多作業系統並沒注意到這種行為或者針對這種型別的訪問做一些優化。同樣,這種訪問行為也可能導致一些有趣的效能異常。一個例子是在一個數據片化的檔案系統裡,應用程式的跳躍導致某一個特定的磁碟成為效能瓶頸。
Fwrite: 測試呼叫庫函式fwrite()來寫檔案的效能。這是一個執行快取與阻塞寫操作的庫例程。快取在使用者空間之內。如果一個應用程式想要寫很小的傳輸塊,fwrite()函式中的快取與阻塞I/O功能能通過減少實際作業系統呼叫並在作業系統呼叫時增加傳輸塊的大小來增強應用程式的效能。
這個測試是寫一個新檔案,所以元資料的寫入也是要的。
Frewrite:測試呼叫庫函式fwrite()來寫檔案的效能。這也是一個執行快取與阻塞寫操作的庫例程。是快取在使用者空間之內。如果一個應用程式想要寫很小的傳輸塊,fwrite()函式中的快取與阻塞I/O功能可以通過減少實際作業系統呼叫並在作業系統呼叫時增加傳輸塊的大小來增強應用程式的效能。
這個測試是寫入一個已存在的檔案,由於無元資料操作,測試的效能會高些。
Fread:測試呼叫庫函式fread()來讀檔案的效能。這是一個執行快取與阻塞讀操作的庫例程。快取在使用者空間之內。如果一個應用程式想要讀很小的傳輸塊,fwrite()函式中的快取與阻塞I/O功能能通過減少實際作業系統呼叫並在作業系統呼叫時增加傳輸塊的大小從而增強應用程式的效能。
幾個特殊測試:
Mmap:許多作業系統支援mmap()的使用來對映一個檔案到使用者地址空間。對映之後,對記憶體的讀寫將同步到檔案中去。這對一些希望將檔案當作記憶體塊來使用的應用程式來說很方便。一個例子是記憶體中的一塊將同時作為一個檔案儲存在於檔案系統中。

工具:IOzone
官方:http://www.iozone.org/

wget http://www.iozone.org/src/current/iozone3_429.tar
tar -xvf iozone3_429.tar
cd iozone3_429/src/current
make
make linux-ia64 

引數:

-a 用來使用全自動模式。生成包括所有測試操作的報告,使用的塊 大小從4k到16M,檔案大小從64k到512M

-R 產生execl格式的輸出日誌。
-b 將產生二進位制的execl的日誌檔名。
-s 測試的檔案大小。
-q 指定最大檔案塊大小(這裡的 -q 64k 包括了4K,8K,16K,32K,64K)
-r 指測試的檔案塊大小(與-q有別,-r 64k只進行64k的測試)
-a 在希望的檔案系統上測試,不過只有-a的話會進行全面測試,要花費很長時間,最好用-i指定測試範圍。
-g 指定最大測試檔案大小。
-n 指定最小測試檔案大小。
-f 指定測試檔案的名字,完成後會自動刪除(這個檔案必須指定在你要測試的那個硬碟中)
-C 顯示每個節點的吞吐量。
-c 測試包括檔案的關閉時間

-t 指定執行緒數

-D 對mmap檔案使用msync(MS_ASYNC) 。這告訴作業系統在mmap空間的所有資料需要被非同步地寫到磁碟上。

-G 對mmap檔案使用msync(MS_SYNC)。這告訴作業系統在mmap空間的所有資料需要被同步地寫到磁碟上。

針對檔案系統的測試可以按一下幾項執行操作:

例:iozone -a -n 512m -g 4g -i 0 -i 1 -i 5 -f /mnt/iozone -Rb ./iozone.xls

進行全面測試.最小測試檔案為512M直到測試到4G.測試read,write,和Strided Read.測試的地方在mnt下。生成Excel的檔案


1.多執行緒下的同步I/O讀寫測試

分別針對128K,16M,256M,2G檔案大小和8程序,64程序,128程序數進行測試

主要測試檔案寫和重複寫、讀和重複讀、隨即讀寫、後向讀、檔案內隨即點寫、大間隔檔案點讀、檔案內的隨即點讀寫等測試項,記錄大小1M cpu cache 2048kbyte。

1.1 128k 檔案效能測試:

測試命令為:

iozone -s 128k -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 8 -G -o -B -Rb iozone.xls

iozone -s 128k -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 64 -G -o -B -Rb iozone.xls
iozone -s 128k -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 128 -G -o -B -Rb iozone.xls

1.2 16M檔案效能測試

測試命令為:

iozone -s 16M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 8 -G -o -B -Rb iozone.xls
iozone -s 16M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 64 -G -o -B -Rb iozone.xls
iozone -s 16M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 128 -G -o -B -Rb iozone.xls

1.3 256M檔案效能測試

測試命令為:

iozone -s 256M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 8 -G -o -B -Rb iozone.xls

iozone -s 256M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 64 -G -o -B -Rb iozone.xls
iozone -s 256M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 128 -G -o -B -Rb iozone.xls

1.4 2G檔案效能測試

測試命令為:

iozone -s 2G -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 8 -G -o -B -Rb iozone.xls
iozone -s 2G -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 64  -G -o -B -Rb iozone.xls
iozone -s 2G -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 128 -G -o -B -Rb iozone.xls

2.  多執行緒下的非同步I/O讀寫測試

分別針對128K,16M,256M,2G檔案大小和8程序,64程序,128程序數進行測試

主要測試檔案寫和重複寫、讀和重複讀、隨即讀寫、後向讀、檔案內隨即點寫、大間隔檔案點讀、檔案內的隨即點讀寫等測試項。

2.1 128k 檔案效能測試:

測試命令為:

iozone -s 128k -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 8 -D -o -B -Rb iozone.xls
iozone -s 128k -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 64 -D -o -B -Rb iozone.xls
iozone -s 128k -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 128 -D -o -B -Rb iozone.xls

2.2 16M檔案效能測試

測試命令為:
iozone -s 16M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 8 -D -o -B -Rb iozone.xls
iozone -s 16M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 64 -D -o -B -Rb iozone.xls
iozone -s 16M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 128 -D -o -B -Rb iozone.xls

2.3 256M檔案效能測試

測試命令為:

iozone -s 256M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 8 -D -o -B -Rb iozone.xls
iozone -s 256M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 64 -D -o -B -Rb iozone.xls
iozone -s 256M -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 128 -D -o -B -Rb iozone.xls

2.4 2G檔案效能測試

測試命令為:

iozone -s 2G -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 8 -D -o -B -Rb iozone.xls
iozone -s 2G -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 64 -D -o -B -Rb iozone.xls
iozone -s 2G -i 0 -i 1 -i 2 -i 3 -i 4 -i 5 -i 8 -t 128 -D -o -B -Rb iozone.xls

四、網路測試工具iperf:

Iperf  是一個網路效能測試工具。Iperf可以測試TCP和UDP頻寬質量。Iperf可以測量最大TCP頻寬,具有多種引數和UDP特性。Iperf可以報告頻寬,延遲抖動和資料包丟失。

Iperf使用方法與引數說明

 引數說明
-s 以server模式啟動,eg:iperf -s
-c host以client模式啟動,host是server端地址,eg:iperf -c 222.35.11.23
通用引數
-f [k|m|K|M] 分別表示以Kbits, Mbits, KBytes, MBytes顯示報告,預設以Mbits為單位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒為單位顯示報告間隔,eg:iperf -c 222.35.11.23 -i 2
-l 緩衝區大小,預設是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 顯示tcp最大mtu值
-o 將報告和錯誤資訊輸出到檔案eg:iperf -c 222.35.11.23 -o c:\iperflog.txt
-p 指定伺服器端使用的埠或客戶端所連線的埠eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp協議
-w 指定TCP視窗大小,預設是8KB
-B 繫結一個主機地址或介面(當主機有多個地址或介面時使用該引數)
-C 相容舊版本(當server端和client端版本不一樣時使用)
-M 設定TCP資料包的最大mtu值
-N 設定TCP不延時
-V 傳輸ipv6資料包

server專用引數
-D 以服務方式執行ipserf,eg:iperf -s -D
-R 停止iperf服務,針對-D,eg:iperf -s -R

client端專用引數
-d 同時進行雙向傳輸測試
-n 指定傳輸的位元組數,eg:iperf -c 222.35.11.23 -n 100000
-r 單獨進行雙向傳輸測試
-t 測試時間,預設10秒,eg:iperf -c 222.35.11.23 -t 5
-F 指定需要傳輸的檔案
-T 指定ttl值

五、apache ab 壓力測試:

ab是Apache超文字傳輸協議(HTTP)的效能測試工具。 其設計意圖是描繪當前所安裝的Apache的執行效能, 主要是顯示你安裝的Apache每秒可以處理多少個請求

ab是Apache超文字傳輸協議(HTTP)的效能測試工具。 其設計意圖是描繪當前所安裝的Apache的執行效能, 主要是顯示你安裝的Apache每秒可以處理多少個請求。

概要

ab [ -A auth-username ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username ] [ -q ] [ -s ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [http://]hostname[:port]/path


選項

-A auth-username:password 
對伺服器提供BASIC認證信任。 使用者名稱和密碼由一個:隔開,並以base64編碼形式傳送。 無論伺服器是否需要(即, 是否傳送了401認證需求程式碼),此字串都會被髮送。 
-c concurrency 
一次產生的請求個數。預設是一次一個。 
-C cookie-name=value 
對請求附加一個Cookie:行。 其典型形式是name=value的一個引數對。 此引數可以重複。 
-d 
不顯示"percentage served within XX [ms] table"的訊息(為以前的版本提供支援)。 
-e csv-file 
產生一個以逗號分隔的(CSV)檔案, 其中包含了處理每個相應百分比的請求所需要(從1%到100%)的相應百分比的(以微妙為單位)時間。 由於這種格式已經“二進位制化”,所以比'gnuplot'格式更有用。 
-g gnuplot-file 
把所有測試結果寫入一個'gnuplot'或者TSV (以Tab分隔的)檔案。 此檔案可以方便地匯入到Gnuplot, IDL, Mathematica, Igor甚至Excel中。 其中的第一行為標題。 
-h 
顯示使用方法。 
-H custom-header 
對請求附加額外的頭資訊。 此引數的典型形式是一個有效的頭資訊行,其中包含了以冒號分隔的欄位和值的對 (如, "Accept-Encoding: zip/zop;8bit"). 
-i 
執行HEAD請求,而不是GET。 
-k 
啟用HTTP KeepAlive功能,即, 在一個HTTP會話中執行多個請求。 預設時,不啟用KeepAlive功能. 
-n requests 
在測試會話中所執行的請求個數。 預設時,僅執行一個請求,但通常其結果不具有代表意義。 
-p POST-file 
包含了需要POST的資料的檔案. 
-P proxy-auth-username:password 
對一箇中轉代理提供BASIC認證信任。 使用者名稱和密碼由一個:隔開,並以base64編碼形式傳送。 無論伺服器是否需要(即, 是否傳送了401認證需求程式碼),此字串都會被髮送。 
-q 
如果處理的請求數大於150, ab每處理大約10%或者100個請求時,會在stderr輸出一個進度計數。 此-q標記可以抑制這些資訊。 
-s 
用於編譯中(ab -h會顯示相關資訊)使用了SSL的受保護的https, 而不是http協議的時候。此功能是實驗性的,也是很簡陋的。最好不要用。 
-S 
不顯示中值和標準背離值, 而且在均值和中值為標準背離值的1到2倍時,也不顯示警告或出錯資訊。 預設時,會顯示 最小值/均值/最大值等數值。(為以前的版本提供支援). 
-t timelimit 
測試所進行的最大秒數。其內部隱含值是-n 50000。 它可以使對伺服器的測試限制在一個固定的總時間以內。預設時,沒有時間限制。 
-T content-type 
POST資料所使用的Content-type頭資訊。 
-v verbosity 
設定顯示資訊的詳細程度 - 4或更大值會顯示頭資訊, 3或更大值可以顯示響應程式碼(404, 200等), 2或更大值可以顯示警告和其他資訊。 
-V 
顯示版本號並退出。 
-w 
以HTML表的格式輸出結果。預設時,它是白色背景的兩列寬度的一張表。 
-x <table>-attributes 
設定<table>屬性的字串。 此屬性被填入<table 這裡 >. 
-X proxy[:port] 
對請求使用代理伺服器。 
-y <tr>-attributes 
設定<tr>屬性的字串. 
-z <td>-attributes 
設定<td>屬性的字串.

例:ab -c 1000 -n 1000  http://127.0.0.1/sw3560/index.html

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking 127.0.0.1 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests


Server Software:        Apache/2.2.3
Server Hostname:        127.0.0.1
Server Port:            80

Document Path:          /sw3560/index.html
Document Length:        5767 bytes

Concurrency Level:      1000              #併發的使用者數
Time taken for tests:   3.85301 seconds   #表示所有這些請求被處理完成所花費的時間總和Complete requests:      1000              
Failed requests:        0
Write errors:           0
Total transferred:      6034000 bytes     #所有請求的響應資料長度總和

HTML transferred:       5767000 bytes     #所有請求的響應資料中正文資料的總和

Requests per second:    324.12 [#/sec] (mean)     #重點:吞吐率,他等於Complete requests / Time taken for tests(相當於 LR 中的 每秒事務數 ,後面括號中的 mean 表示這是一個平均值)

Time per request:       3085.301 [ms] (mean)      #使用者平均請求等待時間,他等於Time taken for tests /(Complete requests / Concurrency Level)【相當於 LR 中的 平均事務響應時間】

Time per request:       3.085 [ms] (mean, across all concurrent requests)

#伺服器平均請求處理時間他等於Time taken for tests / Complete requests (每個請求實際執行時間的平均值)
Transfer rate:          1909.70 [Kbytes/sec] received
                                                  #請求在單位時間內從伺服器獲取資料的長度他等於Total transferred / Time taken for tests 這個統計選項可以很好的說明伺服器在處理能力達到極限時其出口頻寬的需求量
Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   30  16.6     30      59
Processing:    21  924 975.9    612    3027
Waiting:       20  923 976.0    612    3026
Total:         21  954 987.4    637    3084

Percentage of the requests served within a certain time (ms)
  50%    637
  66%   1437
  75%   1455
  80%   1462
  90%   3068
  95%   3076
  98%   3081
  99%   3083
 100%   3084 (longest request)

#用於描述每個請求處理時間的分佈情況,例如:50% 1 50%請求處理時間不超過1秒 (這裡所指的處理時間是指:Time per request )