怎么對(duì)Linux的CPU、內(nèi)存、IO、網(wǎng)絡(luò)壓力進(jìn)行測(cè)試

本篇內(nèi)容主要講解“怎么對(duì)Linux的CPU、內(nèi)存、IO、網(wǎng)絡(luò)壓力進(jìn)行測(cè)試”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么對(duì)Linux的CPU、內(nèi)存、IO、網(wǎng)絡(luò)壓力進(jìn)行測(cè)試”吧!

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專(zhuān)家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷(xiāo),專(zhuān)業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、電商網(wǎng)站制作開(kāi)發(fā)、微信小程序、微信營(yíng)銷(xiāo)、系統(tǒng)平臺(tái)開(kāi)發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開(kāi)發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷(xiāo)的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶(hù)提供全方位的互聯(lián)網(wǎng)品牌整合方案!

一、對(duì)CPU進(jìn)行簡(jiǎn)單測(cè)試:

1、通過(guò)bc命令計(jì)算特別函數(shù)

例:計(jì)算圓周率

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.    正玄函數(shù) 
       c (x)  The cosine of x, x is in radians.  余玄函數(shù) 
       a (x)  The arctangent of x, arctangent returns radians. 反正切函數(shù) 
       l (x)  The natural logarithm of x.  log函數(shù)(以2為底) 
       e (x)  The exponential function of raising e to the value x.  e的指數(shù)函數(shù) 
       j (n,x) The bessel function of integer order n of x.   貝塞爾函數(shù) 

2、工具二:Super Pi for linux

Super PI是利用CPU的浮點(diǎn)運(yùn)算能力來(lái)計(jì)算出π(圓周率),所以目前普遍被超頻玩家用做測(cè)試系統(tǒng)穩(wěn)定性和測(cè)試CPU計(jì)算完后特定位數(shù)圓周率所需的時(shí)間。
下載頁(yè):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為位數(shù)。表示要算2的多少次方位,如通常要算小數(shù)點(diǎn)后1M位。

怎么對(duì)Linux的CPU、內(nèi)存、IO、網(wǎng)絡(luò)壓力進(jìn)行測(cè)試

 二、對(duì)內(nèi)存進(jìn)行簡(jiǎn)單測(cè)試:

工具:memtester
官方:http://pyropus.ca/software/memtester/

wget http://pyropus.ca/software/memtester/old-versions/memtester-4.3.0.tar.gz
tar -xzvf memtester-4.3.0.tar.gz
cd memtester-4.3.0
make && make install

用法:Usage: ./memtester [-p physaddrbase [-d device]] <mem>[B|K|M|G] [loops]
例:memtester 1G 5
怎么對(duì)Linux的CPU、內(nèi)存、IO、網(wǎng)絡(luò)壓力進(jìn)行測(cè)試

 三、對(duì)IO進(jìn)行簡(jiǎn)單測(cè)試:

1、利用dd來(lái)進(jìn)行測(cè)試:

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

用top和iostat查看wa%及寫(xiě)硬盤(pán)速度

2、使用fio命令進(jìn)行測(cè)試:

FIO是測(cè)試IOPS的非常好的工具,用來(lái)對(duì)硬件進(jìn)行壓力測(cè)試和驗(yàn)證,支持13種不同的I/O引擎,
包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。 

說(shuō)明: 
filename=/dev/sdb1 測(cè)試文件名稱(chēng),通常選擇需要測(cè)試的盤(pán)的data目錄。 
direct=1 測(cè)試過(guò)程繞過(guò)機(jī)器自帶的buffer。使測(cè)試結(jié)果更真實(shí)。 
rw=randwrite 測(cè)試隨機(jī)寫(xiě)的I/O 
rw=randrw 測(cè)試隨機(jī)寫(xiě)和讀的I/O 
bs=16k 單次io的塊文件大小為16k 
bsrange=512-2048 同上,提定數(shù)據(jù)塊的大小范圍 
size=5g 本次的測(cè)試文件大小為5g,以每次4k的io進(jìn)行測(cè)試。 
numjobs=30 本次的測(cè)試線(xiàn)程為30. 
runtime=1000 測(cè)試時(shí)間為1000秒,如果不寫(xiě)則一直將5g文件分4k每次寫(xiě)完為止。 
ioengine=psync io引擎使用pync方式 
rwmixwrite=30 在混合讀寫(xiě)的模式下,寫(xiě)占30% 
group_reporting 關(guān)于顯示結(jié)果的,匯總每個(gè)進(jìn)程的信息。 
此外 
lockmem=1g 只使用1g內(nèi)存進(jìn)行測(cè)試。 
zero_buffers 用0初始化系統(tǒng)buffer。 
nrfiles=8 每個(gè)進(jìn)程生成文件的數(shù)量。

隨機(jī)讀: 
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 
隨機(jī)寫(xiě): 
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 
順序?qū)懀?nbsp;
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 
混合隨機(jī)讀寫(xiě): 
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測(cè)試

IOZONE主要用來(lái)測(cè)試操作系統(tǒng)文件系統(tǒng)性能的測(cè)試工具,該工具所測(cè)試的范圍主要有,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可以在多線(xiàn)程、多cpu,并指定cpu cache空間大小以及同步或異步I/O讀寫(xiě)模式的情況下進(jìn)行測(cè)試文件操作性能;

(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: 測(cè)試向一個(gè)新文件寫(xiě)入的性能。當(dāng)一個(gè)新文件被寫(xiě)入時(shí),不僅僅是那些文件中的數(shù)據(jù)需要被存儲(chǔ),還包括那些用于定位數(shù)據(jù)存儲(chǔ)在存儲(chǔ)介質(zhì)的具體位置的額外信息。這些額外信息被稱(chēng)作“元數(shù)據(jù)”。它包括目錄信息,所分配的空間和一些與該文件有關(guān)但又并非該文件所含數(shù)據(jù)的其他數(shù)據(jù)。拜這些額外信息所賜,Write的性能通常會(huì)比Re-write的性能低。
Re-write: 測(cè)試向一個(gè)已存在的文件寫(xiě)入的性能。當(dāng)一個(gè)已存在的文件被寫(xiě)入時(shí),所需工作量較少,因?yàn)榇藭r(shí)元數(shù)據(jù)已經(jīng)存在。Re-write的性能通常比Write的性能高。
Read: 測(cè)試讀一個(gè)已存在的文件的性能。
Re-Read: 測(cè)試讀一個(gè)最 近讀過(guò)的文件的性能。Re-Read性能會(huì)高些,因?yàn)椴僮飨到y(tǒng)通常會(huì)緩存最 近讀過(guò)的文件數(shù)據(jù)。這個(gè)緩存可以被用于讀以提高性能。
Random Read: 測(cè)試讀一個(gè)文件中的隨機(jī)偏移量的性能。許多因素都可能影響這種情況下的系統(tǒng)性能,例如:操作系統(tǒng)緩存的大小,磁盤(pán)數(shù)量,尋道延遲和其他。
Random Write: 測(cè)試寫(xiě)一個(gè)文件中的隨機(jī)偏移量的性能。同樣,有許多因素可能影響這種情況下的系統(tǒng)性能,例如:操作系統(tǒng)緩存的大小,磁盤(pán)數(shù)量,尋道延遲和其他。
Random Mix: 測(cè)試讀寫(xiě)一個(gè)文件中的隨機(jī)偏移量的性能。許多因素可能影響這種情況下的系統(tǒng)性能運(yùn)作,例如:操作系統(tǒng)緩存的大小,磁盤(pán)數(shù)量,尋道延遲和其他。這個(gè)測(cè)試只有在吞吐量測(cè)試模式下才能進(jìn)行。每個(gè)線(xiàn)程/進(jìn)程運(yùn)行讀或?qū)憸y(cè)試。這種分布式讀/寫(xiě)測(cè)試是基于round robin 模式的。最好使用多于一個(gè)線(xiàn)程/進(jìn)程執(zhí)行此測(cè)試。
Backwards Read: 測(cè)試使用倒序讀一個(gè)文件的性能。這種讀文件方法可能看起來(lái)很可笑,事實(shí)上,有些應(yīng)用確實(shí)這么干。MSC Nastran是一個(gè)使用倒序讀文件的應(yīng)用程序的一個(gè)例子。它所讀的文件都十分大(大小從G級(jí)別到T級(jí)別)。盡管許多操作系統(tǒng)使用一些特殊實(shí)現(xiàn)來(lái)優(yōu)化順序讀文件的速度,很少有操作系統(tǒng)注意到并增強(qiáng)倒序讀文件的性能。
Record Rewrite: 測(cè)試寫(xiě)與覆蓋寫(xiě)一個(gè)文件中的特定塊的性能。這個(gè)塊可能會(huì)發(fā)生一些很有趣的事。如果這個(gè)塊足夠?。ū菴PU數(shù)據(jù)緩存?。瑴y(cè)出來(lái)的性能將會(huì)非常高。如果比CPU數(shù)據(jù)緩存大而比TLB小,測(cè)出來(lái)的是另一個(gè)階段的性能。如果比此二者都大,但比操作系統(tǒng)緩存小,得到的性能又是一個(gè)階段。若大到超過(guò)操作系統(tǒng)緩存,又是另一番結(jié)果。
Strided Read: 測(cè)試跳躍讀一個(gè)文件的性能。舉例如下:在0偏移量處讀4Kbytes,然后間隔200Kbytes,讀4Kbytes,再間隔200Kbytes,如此反復(fù)。此時(shí)的模式是讀4Kbytes,間隔200Kbytes并重復(fù)這個(gè)模式。這又是一個(gè)典型的應(yīng)用行為,文件中使用了數(shù)據(jù)結(jié)構(gòu)并且訪(fǎng)問(wèn)這個(gè)數(shù)據(jù)結(jié)構(gòu)的特定區(qū)域的應(yīng)用程序常常這樣做。
許多操作系統(tǒng)并沒(méi)注意到這種行為或者針對(duì)這種類(lèi)型的訪(fǎng)問(wèn)做一些優(yōu)化。同樣,這種訪(fǎng)問(wèn)行為也可能導(dǎo)致一些有趣的性能異常。一個(gè)例子是在一個(gè)數(shù)據(jù)片化的文件系統(tǒng)里,應(yīng)用程序的跳躍導(dǎo)致某一個(gè)特定的磁盤(pán)成為性能瓶頸。
Fwrite: 測(cè)試調(diào)用庫(kù)函數(shù)fwrite()來(lái)寫(xiě)文件的性能。這是一個(gè)執(zhí)行緩存與阻塞寫(xiě)操作的庫(kù)例程。緩存在用戶(hù)空間之內(nèi)。如果一個(gè)應(yīng)用程序想要寫(xiě)很小的傳輸塊,fwrite()函數(shù)中的緩存與阻塞I/O功能能通過(guò)減少實(shí)際操作系統(tǒng)調(diào)用并在操作系統(tǒng)調(diào)用時(shí)增加傳輸塊的大小來(lái)增強(qiáng)應(yīng)用程序的性能。
這個(gè)測(cè)試是寫(xiě)一個(gè)新文件,所以元數(shù)據(jù)的寫(xiě)入也是要的。
Frewrite:測(cè)試調(diào)用庫(kù)函數(shù)fwrite()來(lái)寫(xiě)文件的性能。這也是一個(gè)執(zhí)行緩存與阻塞寫(xiě)操作的庫(kù)例程。是緩存在用戶(hù)空間之內(nèi)。如果一個(gè)應(yīng)用程序想要寫(xiě)很小的傳輸塊,fwrite()函數(shù)中的緩存與阻塞I/O功能可以通過(guò)減少實(shí)際操作系統(tǒng)調(diào)用并在操作系統(tǒng)調(diào)用時(shí)增加傳輸塊的大小來(lái)增強(qiáng)應(yīng)用程序的性能。
這個(gè)測(cè)試是寫(xiě)入一個(gè)已存在的文件,由于無(wú)元數(shù)據(jù)操作,測(cè)試的性能會(huì)高些。
Fread:測(cè)試調(diào)用庫(kù)函數(shù)fread()來(lái)讀文件的性能。這是一個(gè)執(zhí)行緩存與阻塞讀操作的庫(kù)例程。緩存在用戶(hù)空間之內(nèi)。如果一個(gè)應(yīng)用程序想要讀很小的傳輸塊,fwrite()函數(shù)中的緩存與阻塞I/O功能能通過(guò)減少實(shí)際操作系統(tǒng)調(diào)用并在操作系統(tǒng)調(diào)用時(shí)增加傳輸塊的大小從而增強(qiáng)應(yīng)用程序的性能。
幾個(gè)特殊測(cè)試:
Mmap:許多操作系統(tǒng)支持mmap()的使用來(lái)映射一個(gè)文件到用戶(hù)地址空間。映射之后,對(duì)內(nèi)存的讀寫(xiě)將同步到文件中去。這對(duì)一些希望將文件當(dāng)作內(nèi)存塊來(lái)使用的應(yīng)用程序來(lái)說(shuō)很方便。一個(gè)例子是內(nèi)存中的一塊將同時(shí)作為一個(gè)文件保存在于文件系統(tǒng)中。


工具:IOzone

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

參數(shù):

  • -a 用來(lái)使用全自動(dòng)模式。生成包括所有測(cè)試操作的報(bào)告,使用的塊 大小從4k到16M,文件大小從64k到512M

  • -R 產(chǎn)生execl格式的輸出日志。

  • -b 將產(chǎn)生二進(jìn)制的execl的日志文件名。

  • -s 測(cè)試的文件大小。

  • -q 指定最大文件塊大小(這里的 -q 64k 包括了4K,8K,16K,32K,64K)

  • -r 指測(cè)試的文件塊大?。ㄅc-q有別,-r 64k只進(jìn)行64k的測(cè)試)

  • -a 在希望的文件系統(tǒng)上測(cè)試,不過(guò)只有-a的話(huà)會(huì)進(jìn)行全面測(cè)試,要花費(fèi)很長(zhǎng)時(shí)間,最好用-i指定測(cè)試范圍。

  • -g 指定最大測(cè)試文件大小。

  • -n 指定最小測(cè)試文件大小。

  • -f 指定測(cè)試文件的名字,完成后會(huì)自動(dòng)刪除(這個(gè)文件必須指定在你要測(cè)試的那個(gè)硬盤(pán)中)

  • -C 顯示每個(gè)節(jié)點(diǎn)的吞吐量。

  • -c 測(cè)試包括文件的關(guān)閉時(shí)間

  • -t 指定線(xiàn)程數(shù)

  • -D 對(duì)mmap文件使用msync(MS_ASYNC) 。這告訴操作系統(tǒng)在mmap空間的所有數(shù)據(jù)需要被異步地寫(xiě)到磁盤(pán)上。

  • -G 對(duì)mmap文件使用msync(MS_SYNC)。這告訴操作系統(tǒng)在mmap空間的所有數(shù)據(jù)需要被同步地寫(xiě)到磁盤(pán)上。

針對(duì)文件系統(tǒng)的測(cè)試可以按一下幾項(xiàng)執(zhí)行操作:

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

進(jìn)行全面測(cè)試.最小測(cè)試文件為512M直到測(cè)試到4G.測(cè)試read,write,和Strided Read.測(cè)試的地方在mnt下。生成Excel的文件


1.多線(xiàn)程下的同步I/O讀寫(xiě)測(cè)試

分別針對(duì)128K,16M,256M,2G文件大小和8進(jìn)程,64進(jìn)程,128進(jìn)程數(shù)進(jìn)行測(cè)試

主要測(cè)試文件寫(xiě)和重復(fù)寫(xiě)、讀和重復(fù)讀、隨即讀寫(xiě)、后向讀、文件內(nèi)隨即點(diǎn)寫(xiě)、大間隔文件點(diǎn)讀、文件內(nèi)的隨即點(diǎn)讀寫(xiě)等測(cè)試項(xiàng),記錄大小1M cpu cache 2048kbyte。

1.1 128k 文件性能測(cè)試:

測(cè)試命令為:

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文件性能測(cè)試

測(cè)試命令為:

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文件性能測(cè)試

測(cè)試命令為:

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文件性能測(cè)試

測(cè)試命令為:

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.  多線(xiàn)程下的異步I/O讀寫(xiě)測(cè)試

分別針對(duì)128K,16M,256M,2G文件大小和8進(jìn)程,64進(jìn)程,128進(jìn)程數(shù)進(jìn)行測(cè)試

主要測(cè)試文件寫(xiě)和重復(fù)寫(xiě)、讀和重復(fù)讀、隨即讀寫(xiě)、后向讀、文件內(nèi)隨即點(diǎn)寫(xiě)、大間隔文件點(diǎn)讀、文件內(nèi)的隨即點(diǎn)讀寫(xiě)等測(cè)試項(xiàng)。

2.1 128k 文件性能測(cè)試:

測(cè)試命令為:

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文件性能測(cè)試

測(cè)試命令為:
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文件性能測(cè)試

測(cè)試命令為:

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文件性能測(cè)試

測(cè)試命令為:

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

四、網(wǎng)絡(luò)測(cè)試工具iperf:

Iperf  是一個(gè)網(wǎng)絡(luò)性能測(cè)試工具。Iperf可以測(cè)試TCP和UDP帶寬質(zhì)量。Iperf可以測(cè)量最大TCP帶寬,具有多種參數(shù)和UDP特性。Iperf可以報(bào)告帶寬,延遲抖動(dòng)和數(shù)據(jù)包丟失。
Iperf使用方法與參數(shù)說(shuō)明

 參數(shù)說(shuō)明

  • -s 以server模式啟動(dòng),eg:iperf -s

  • -c host以client模式啟動(dòng),host是server端地址,eg:iperf -c 222.35.11.23

  • 通用參數(shù)

  • -f [k|m|K|M] 分別表示以Kbits, Mbits, KBytes, MBytes顯示報(bào)告,默認(rèn)以Mbits為單位,eg:iperf -c 222.35.11.23 -f K

  • -i sec 以秒為單位顯示報(bào)告間隔,eg:iperf -c 222.35.11.23 -i 2

  • -l 緩沖區(qū)大小,默認(rèn)是8KB,eg:iperf -c 222.35.11.23 -l 16

  • -m 顯示tcp最大mtu值

  • -o 將報(bào)告和錯(cuò)誤信息輸出到文件eg:iperf -c 222.35.11.23 -o c:\iperflog.txt

  • -p 指定服務(wù)器端使用的端口或客戶(hù)端所連接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999

  • -u 使用udp協(xié)議

  • -w 指定TCP窗口大小,默認(rèn)是8KB

  • -B 綁定一個(gè)主機(jī)地址或接口(當(dāng)主機(jī)有多個(gè)地址或接口時(shí)使用該參數(shù))

  • -C 兼容舊版本(當(dāng)server端和client端版本不一樣時(shí)使用)

  • -M 設(shè)定TCP數(shù)據(jù)包的最大mtu值

  • -N 設(shè)定TCP不延時(shí)

  • -V 傳輸ipv6數(shù)據(jù)包

server專(zhuān)用參數(shù)

  • -D 以服務(wù)方式運(yùn)行ipserf,eg:iperf -s -D

  • -R 停止iperf服務(wù),針對(duì)-D,eg:iperf -s -R

client端專(zhuān)用參數(shù)

  • -d 同時(shí)進(jìn)行雙向傳輸測(cè)試

  • -n 指定傳輸?shù)淖止?jié)數(shù),eg:iperf -c 222.35.11.23 -n 100000

  • -r 單獨(dú)進(jìn)行雙向傳輸測(cè)試

  • -t 測(cè)試時(shí)間,默認(rèn)10秒,eg:iperf -c 222.35.11.23 -t 5

  • -F 指定需要傳輸?shù)奈募?/p>

  • -T 指定ttl值

五、apache ab 壓力測(cè)試:

ab是Apache超文本傳輸協(xié)議(HTTP)的性能測(cè)試工具。 其設(shè)計(jì)意圖是描繪當(dāng)前所安裝的Apache的執(zhí)行性能, 主要是顯示你安裝的Apache每秒可以處理多少個(gè)請(qǐng)求
ab是Apache超文本傳輸協(xié)議(HTTP)的性能測(cè)試工具。 其設(shè)計(jì)意圖是描繪當(dāng)前所安裝的Apache的執(zhí)行性能, 主要是顯示你安裝的Apache每秒可以處理多少個(gè)請(qǐng)求。
概要
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

選項(xiàng)
-A auth-username:password 
對(duì)服務(wù)器提供BASIC認(rèn)證信任。 用戶(hù)名和密碼由一個(gè):隔開(kāi),并以base64編碼形式發(fā)送。 無(wú)論服務(wù)器是否需要(即, 是否發(fā)送了401認(rèn)證需求代碼),此字符串都會(huì)被發(fā)送。 
-c concurrency 
一次產(chǎn)生的請(qǐng)求個(gè)數(shù)。默認(rèn)是一次一個(gè)。 
-C cookie-name=value 
對(duì)請(qǐng)求附加一個(gè)Cookie:行。 其典型形式是name=value的一個(gè)參數(shù)對(duì)。 此參數(shù)可以重復(fù)。 
-d 
不顯示"percentage served within XX [ms] table"的消息(為以前的版本提供支持)。 
-e csv-file 
產(chǎn)生一個(gè)以逗號(hào)分隔的(CSV)文件, 其中包含了處理每個(gè)相應(yīng)百分比的請(qǐng)求所需要(從1%到100%)的相應(yīng)百分比的(以微妙為單位)時(shí)間。 由于這種格式已經(jīng)“二進(jìn)制化”,所以比'gnuplot'格式更有用。 
-g gnuplot-file 
把所有測(cè)試結(jié)果寫(xiě)入一個(gè)'gnuplot'或者TSV (以Tab分隔的)文件。 此文件可以方便地導(dǎo)入到Gnuplot, IDL, Mathematica, Igor甚至Excel中。 其中的第一行為標(biāo)題。 
-h 
顯示使用方法。 
-H custom-header 
對(duì)請(qǐng)求附加額外的頭信息。 此參數(shù)的典型形式是一個(gè)有效的頭信息行,其中包含了以冒號(hào)分隔的字段和值的對(duì) (如, "Accept-Encoding: zip/zop;8bit"). 
-i 
執(zhí)行HEAD請(qǐng)求,而不是GET。 
-k 
啟用HTTP KeepAlive功能,即, 在一個(gè)HTTP會(huì)話(huà)中執(zhí)行多個(gè)請(qǐng)求。 默認(rèn)時(shí),不啟用KeepAlive功能. 
-n requests 
在測(cè)試會(huì)話(huà)中所執(zhí)行的請(qǐng)求個(gè)數(shù)。 默認(rèn)時(shí),僅執(zhí)行一個(gè)請(qǐng)求,但通常其結(jié)果不具有代表意義。 
-p POST-file 
包含了需要POST的數(shù)據(jù)的文件. 
-P proxy-auth-username:password 
對(duì)一個(gè)中轉(zhuǎn)代理提供BASIC認(rèn)證信任。 用戶(hù)名和密碼由一個(gè):隔開(kāi),并以base64編碼形式發(fā)送。 無(wú)論服務(wù)器是否需要(即, 是否發(fā)送了401認(rèn)證需求代碼),此字符串都會(huì)被發(fā)送。 
-q 
如果處理的請(qǐng)求數(shù)大于150, ab每處理大約10%或者100個(gè)請(qǐng)求時(shí),會(huì)在stderr輸出一個(gè)進(jìn)度計(jì)數(shù)。 此-q標(biāo)記可以抑制這些信息。 
-s 
用于編譯中(ab -h會(huì)顯示相關(guān)信息)使用了SSL的受保護(hù)的https, 而不是http協(xié)議的時(shí)候。此功能是實(shí)驗(yàn)性的,也是很簡(jiǎn)陋的。最好不要用。 
-S 
不顯示中值和標(biāo)準(zhǔn)背離值, 而且在均值和中值為標(biāo)準(zhǔn)背離值的1到2倍時(shí),也不顯示警告或出錯(cuò)信息。 默認(rèn)時(shí),會(huì)顯示 最小值/均值/最大值等數(shù)值。(為以前的版本提供支持). 
-t timelimit 
測(cè)試所進(jìn)行的最大秒數(shù)。其內(nèi)部隱含值是-n 50000。 它可以使對(duì)服務(wù)器的測(cè)試限制在一個(gè)固定的總時(shí)間以?xún)?nèi)。默認(rèn)時(shí),沒(méi)有時(shí)間限制。 
-T content-type 
POST數(shù)據(jù)所使用的Content-type頭信息。 
-v verbosity 
設(shè)置顯示信息的詳細(xì)程度 - 4或更大值會(huì)顯示頭信息, 3或更大值可以顯示響應(yīng)代碼(404, 200等), 2或更大值可以顯示警告和其他信息。 
-V 
顯示版本號(hào)并退出。 
-w 
以HTML表的格式輸出結(jié)果。默認(rèn)時(shí),它是白色背景的兩列寬度的一張表。 
-x <table>-attributes 
設(shè)置<table>屬性的字符串。 此屬性被填入<table 這里 >. 
-X proxy[:port] 
對(duì)請(qǐng)求使用代理服務(wù)器。 
-y <tr>-attributes 
設(shè)置<tr>屬性的字符串. 
-z <td>-attributes 
設(shè)置<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              #并發(fā)的用戶(hù)數(shù)
Time taken for tests:   3.85301 seconds   #表示所有這些請(qǐng)求被處理完成所花費(fèi)的時(shí)間總和Complete requests:      1000              
Failed requests:        0
Write errors:           0
Total transferred:      6034000 bytes     #所有請(qǐng)求的響應(yīng)數(shù)據(jù)長(zhǎng)度總和

HTML transferred:       5767000 bytes     #所有請(qǐng)求的響應(yīng)數(shù)據(jù)中正文數(shù)據(jù)的總和

Requests per second:    324.12 [#/sec] (mean)     #重點(diǎn):吞吐率,他等于Complete requests / Time taken for tests(相當(dāng)于 LR 中的 每秒事務(wù)數(shù) ,后面括號(hào)中的 mean 表示這是一個(gè)平均值)

Time per request:       3085.301 [ms] (mean)      #用戶(hù)平均請(qǐng)求等待時(shí)間,他等于Time taken for tests /(Complete requests / Concurrency Level)【相當(dāng)于 LR 中的 平均事務(wù)響應(yīng)時(shí)間】

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

                                                         #服務(wù)器平均請(qǐng)求處理時(shí)間他等于Time taken for tests / Complete requests (每個(gè)請(qǐng)求實(shí)際運(yùn)行時(shí)間的平均值)
Transfer rate:          1909.70 [Kbytes/sec] received
                                                  #請(qǐng)求在單位時(shí)間內(nèi)從服務(wù)器獲取數(shù)據(jù)的長(zhǎng)度他等于Total transferred / Time taken for tests 這個(gè)統(tǒng)計(jì)選項(xiàng)可以很好的說(shuō)明服務(wù)器在處理能力達(dá)到極限時(shí)其出口帶寬的需求量
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)

#用于描述每個(gè)請(qǐng)求處理時(shí)間的分布情況,例如:50% 1 50%請(qǐng)求處理時(shí)間不超過(guò)1秒 (這里所指的處理時(shí)間是指:Time per request )

到此,相信大家對(duì)“怎么對(duì)Linux的CPU、內(nèi)存、IO、網(wǎng)絡(luò)壓力進(jìn)行測(cè)試”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享標(biāo)題:怎么對(duì)Linux的CPU、內(nèi)存、IO、網(wǎng)絡(luò)壓力進(jìn)行測(cè)試
當(dāng)前路徑:http://muchs.cn/article6/jojoig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站收錄Google、微信小程序做網(wǎng)站、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化