主流benchmark工具使用匯總

SPEC CPU 2006

基本的文件目錄結(jié)構(gòu)如下:

安裝步驟如下:

# apt-get install libgfortran3 numactl /*安裝必要組件*/

# cd $YOUR_FOLDER

# tar xzf cpu2006.tgz

# cd cpu2006

#? ./bin/relocate

# source $YOUR_FOLDER/cpu2006/shrc

配置我們的config文件,里面包含操作平臺/硬件/軟件信息,配合不同測試參數(shù)實現(xiàn)不同性能維度的測試嚎尤。我們在此用的配置文件是clover-linux64-amd64-gcc47.cfg诞仓,修改其中的硬件參數(shù)然后執(zhí)行runspe视哑。關(guān)于配置的具體參數(shù)和描述可以參考https://www.spec.org/cpu2006/Docs/config.html

# ./bin/runspec --config clover-linux64-amd64-gcc47.cfg--tune=base int /*--config指定運行的配置文件士袄,tune=base代表基本的性能衡量,還有peak可選胆绊,提供更多的配置編譯選擇

更多執(zhí)行參數(shù)參考:https://www.spec.org/cpu2006/Docs/runspec.html

常見問題:https://www.spec.org/cpu2006/Docs/faq.html

LMbench

LMbench包括一套針對不同操作系統(tǒng)的基準(zhǔn)測試工具了牛,包括上下文切換颜屠,本地通信辰妙,內(nèi)存帶寬和文件操作等。

安裝步驟如下:

# wget https://superb-sea2.dl.sourceforge.net/project/lmbench/development/lmbench-3.0-a9/lmbench-3.0-a9.tgz

# tar -xzvf lmbench-3.0-a9.tgz

# cd lmbench-3.0-a9/

# make results /*第一次執(zhí)行甫窟,彈出的配置選項可暫時用default值*/

# make rerun /*在執(zhí)行完第一次的初始化執(zhí)行后密浑,基本make result生成的配置文件再次測試*/

# make see /*查看結(jié)果,可以拷貝到excel上來進(jìn)行進(jìn)一步的分析和圖表呈現(xiàn)*/

執(zhí)行過程比較長粗井,需要耐心等待尔破。最后輸出的信息有兩個需要注意:

Using config in CONFIG.k-1 /*我們可以看到這次執(zhí)行用的上次的配置文件*/

Mon Jul 23 06:27:25 UTC 2018

Latency measurements

Mon Jul 23 06:29:54 UTC 2018

Calculating file system latency

Mon Jul 23 06:29:57 UTC 2018

Local networking

Mon Jul 23 06:31:07 UTC 2018

Bandwidth measurements

Mon Jul 23 06:33:54 UTC 2018

Calculating context switch overhead

Mon Jul 23 06:34:02 UTC 2018

Calculating effective TLB size

Mon Jul 23 06:34:02 UTC 2018

Calculating memory load parallelism

Mon Jul 23 06:34:03 UTC 2018

McCalpin's STREAM benchmark

Mon Jul 23 06:34:04 UTC 2018

Calculating memory load latency

Mon Jul 23 06:56:01 UTC 2018

Mailing results

../scripts/results: 37: ../scripts/results: mail: not found /*這個錯誤無需理會,看看具體的shell就只知道原因了*/

當(dāng)前的執(zhí)行目錄下查看測試結(jié)果浇衬,可以看到系統(tǒng)軟硬件環(huán)境參數(shù)懒构,輸出的具體內(nèi)存讀寫,文件系統(tǒng)讀寫等詳細(xì)信息

# vim results/x86_64-linux-gnu/k-1.2

基本的測試完畢之后耘擂,利用make see來查看工具自動生成的表格狀信息

# make see

cd results && make summary >summary.out 2>summary.errs

cd results && make percent >percent.out 2>percent.errs

# vim ./results/summary.out

查看summary.errs查看生成日志

IOzone

文件系統(tǒng)的基準(zhǔn)測試工具胆剧,用來模擬各種磁盤訪問操作,用戶可以自己定義文件塊大小醉冤,IO大小和訪問模式秩霍。比如針對數(shù)據(jù)中心場景的IO密集型操作,該工具可以用來模擬針對大文件的大數(shù)據(jù)塊的隨機(jī)訪問冤灾。

安裝步驟如下:

# wget http://www.iozone.org/src/current/iozone3_482.tar

# tar -xvf?iozone3_482.tar

# less?iozone3_482/src/current/makefile

makefile中針對amd64的編譯選項

# make linux-AMD64

Building iozone for Linux-AMD64

cc -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DNAME='"linux-AMD64"' \

? ? ? ? -D__AMD64__ -DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE \

? ? ? ? -DHAVE_PREAD? iozone.c -o iozone_linux-AMD64.o

cc -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \

? ? ? ? -DSHARED_MEM -Dlinux? libbif.c -o libbif.o

cc -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \

? ? ? ? -D_LARGEFILE64_SOURCE? libasync.c? -o libasync.o

Building fileop for Linux-AMD64

cc -Wall -c -O3? fileop.c -o fileop_linux-AMD64.o

Building the pit_server

cc -c? pit_server.c? -o pit_server.o

cc? -O3? iozone_linux-AMD64.o libbif.o libasync.o \

? ? ? ? -lrt -lpthread -o iozone

cc? -O3 -Dlinux fileop_linux-AMD64.o -o fileop

cc? -O3 -Dlinux pit_server.o -o pit_server

root@k8s-cluster-1:/home/ubuntu/iozone/iozone3_482/src/current# ls *.o

fileop_linux-AMD64.o? iozone_linux-AMD64.o? libasync.o? libbif.o? pit_server.o

# ./iozone -h

在執(zhí)行前,我們先準(zhǔn)備一塊測試用volume辕近,基本步驟如下


OpenStack cinder分配出一塊10G的volume

# fdisk -l

Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x49ec635a

Device? ? Boot Start? ? ? End? Sectors? Size Id Type

/dev/vda1? *? ? 2048 209715166 209713119? 100G 83 Linux

Disk /dev/vdb: 10 GiB, 10737418240 bytes, 20971520 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

利用lvm和mkfs進(jìn)行磁盤的劃分和初始化

# fdisk /dev/vdb

...

Command (m for help): n

Partition type

? p? primary (0 primary, 0 extended, 4 free)

? e? extended (container for logical partitions)

Select (default p): e

...

Command (m for help): w

The partition table has been altered.

Calling ioctl() to re-read partition table.

Syncing disks.

# fdisk /dev/vdb

Command (m for help): p

Disk /dev/vdb: 10 GiB, 10737418240 bytes, 20971520 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disklabel type: dos

Disk identifier: 0x7ae1a7eb

Device? ? Boot Start? ? ? End? Sectors Size Id Type

/dev/vdb1? ? ? ? 2048 20971519 20969472? 10G? 5 Extended

/dev/vdb5? ? ? ? 4096 20971519 20967424? 10G 83 Linux

Command (m for help): w

The partition table has been altered.

Calling ioctl() to re-read partition table.

Syncing disks.

# pvcreate /dev/vdb5

? Physical volume "/dev/vdb5" successfully created

# vgcreate vg-demo /dev/vdb5

? Volume group "vg-demo" successfully created

# lvcreate -L 5GB -n lv-demo vg-demo

? Logical volume "lv-demo" created.

# lvdisplay

? --- Logical volume ---

? LV Path? ? ? ? ? ? ? ? /dev/vg-demo/lv-demo

? LV Name? ? ? ? ? ? ? ? lv-demo

? VG Name? ? ? ? ? ? ? ? vg-demo

? LV UUID? ? ? ? ? ? ? ? oL5t1V-mBiD-eeo1-Yd3z-nKf2-BeMW-npEy0t

? LV Write Access? ? ? ? read/write

? LV Creation host, time k8s-cluster-1, 2018-07-23 07:41:19 +0000

? LV Status? ? ? ? ? ? ? available

? # open? ? ? ? ? ? ? ? 0

? LV Size? ? ? ? ? ? ? ? 5.00 GiB

? Current LE? ? ? ? ? ? 1280

? Segments? ? ? ? ? ? ? 1

? Allocation? ? ? ? ? ? inherit

? Read ahead sectors? ? auto

? - currently set to? ? 256

? Block device? ? ? ? ? 252:0

# mkfs -t ext4 /dev/vg-demo/lv-demo

# mount /dev/vg-demo/lv-demo /var/demo

# mount | grep demo

/dev/mapper/vg--demo-lv--demo on /var/demo type ext4 (rw,relatime,data=ordered)

執(zhí)行測試韵吨,其中-b知道excel文件名,-R用于輸出excel移宅,-i指定訪問模式归粉,2是隨機(jī)讀寫,-f指定使用的文件漏峰,-r指定IO塊大小糠悼,這里是32kb,-s知道使用文件大小浅乔,這里是4.9g倔喂。其中需要注意的一點是benchmark使用的文件如果小于內(nèi)存大小將可能被緩存,從而測試的是內(nèi)存的吞吐量而不是磁盤系統(tǒng)的吞吐量靖苇,為了避免這種情況席噩,我們可以1)讓文件大小為兩倍內(nèi)存大小贤壁;2)mount的時候使用sync選項悼枢,這里我們用的前者

# ./iozone -b results.xls -R -i 0 -i 2 -f /var/demo/iozone.file -r 32 -s 4.9g

等待測試完畢

# ls -alh /var/demo/iozone.file

-rw-r----- 1 root root 2.7G Jul 23 07:58 /var/demo/iozone.file

# ls -alh /var/demo/iozone.file

-rw-r----- 1 root root 2.8G Jul 23 07:58 /var/demo/iozone.file

打開執(zhí)行目錄下的result.xls文件

具體的執(zhí)行信息

netperf

安裝直接apt-get install netperf

netperf用于測試tcp/ip的網(wǎng)絡(luò)性能,支持unix docket和sctp脾拆。它基于client-server模式馒索,被測系統(tǒng)或設(shè)備作為server端運行netserver莹妒,client通過額外的一條控制連接來進(jìn)行配置,發(fā)包和獲取結(jié)果绰上,同實際的測試流量隔離開以確保測試結(jié)果的準(zhǔn)確性旨怠。netperf發(fā)出的流量主要分為兩類:1)bulk data;2)request/response渔期。這里有個缺陷是netperf目前只能基于一個socket進(jìn)行測試而無法支持多并發(fā)的session运吓。當(dāng)前用的版本是2.6.0,可以通過簡單的shell腳本將任務(wù)循環(huán)放入后臺來實現(xiàn)疯趟。

這里需要兩個設(shè)備拘哨,一個client,一個server信峻。

server端:

root@k-2:~# netserver -p 9999

Starting netserver with host 'IN(6)ADDR_ANY' port '9999' and family AF_UNSPEC

root@k-2:~# netstat -pan | grep 9999

tcp6? ? ? 0? ? ? 0 :::9999? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 6163/netserver

client端(可以-c/-C來實現(xiàn)本地/遠(yuǎn)程CPU利用率的查看)倦青,這里我們-t指定的是TCP_CRR,實現(xiàn)連接/請求/回應(yīng)/終結(jié)等操作盹舞,每次交互都會重新建立鏈接产镐,http的keepalive功能是關(guān)閉的,主要用于http1.0/1.1模擬踢步。其他幾種主要的模式如下:

TCP_STREAM 基本的tcp大字節(jié)benchmark癣亚,屬于bulk data

UDP_STREAM 基本的udp測試

TCP_RR tcp交互響應(yīng)速率測試,主要用于http長連接(鏈接不拆除)和針對數(shù)據(jù)庫的訪問

UDP_RR 同上获印,用的udp報文

# netperf -t TCP_CRR -H k-2 -l 10 -- -r 128.1024

MIGRATED TCP Connect/Request/Response TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to k-2 () port 0 AF_INET : demo

Local /Remote

Socket Size? Request? Resp.? Elapsed? Trans.

Send? Recv? Size? ? Size? ? Time? ? Rate

bytes? Bytes? bytes? ? bytes? secs.? ? per sec

16384? 87380? 128? ? ? 128? ? 10.00? ? 5172.56

16384? 87380

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末述雾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子兼丰,更是在濱河造成了極大的恐慌玻孟,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鳍征,死亡現(xiàn)場離奇詭異黍翎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)艳丛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門匣掸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人氮双,你說我怎么就攤上這事旺聚。” “怎么了眶蕉?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵砰粹,是天一觀的道長。 經(jīng)常有香客問我,道長碱璃,這世上最難降的妖魔是什么拌消? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任作岖,我火速辦了婚禮排苍,結(jié)果婚禮上层宫,老公的妹妹穿的比我還像新娘。我一直安慰自己爽航,他們只是感情好蚓让,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著讥珍,像睡著了一般历极。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上衷佃,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天趟卸,我揣著相機(jī)與錄音,去河邊找鬼氏义。 笑死锄列,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的惯悠。 我是一名探鬼主播邻邮,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼克婶!你這毒婦竟也來了筒严?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鸠补,失蹤者是張志新(化名)和其女友劉穎萝风,沒想到半個月后嘀掸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體紫岩,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年睬塌,在試婚紗的時候發(fā)現(xiàn)自己被綠了泉蝌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡揩晴,死狀恐怖勋陪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情硫兰,我是刑警寧澤诅愚,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站劫映,受9級特大地震影響违孝,放射性物質(zhì)發(fā)生泄漏刹前。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一雌桑、第九天 我趴在偏房一處隱蔽的房頂上張望喇喉。 院中可真熱鬧,春花似錦校坑、人聲如沸拣技。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膏斤。三九已至,卻和暖如春制妄,著一層夾襖步出監(jiān)牢的瞬間掸绞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工耕捞, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留衔掸,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓俺抽,卻偏偏與公主長得像敞映,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子磷斧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理振愿,服務(wù)發(fā)現(xiàn),斷路器弛饭,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • jHipster - 微服務(wù)搭建 CC_簡書[http://www.reibang.com/u/be0d56c4...
    quanjj閱讀 812評論 0 2
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架冕末,建立于...
    Hsinwong閱讀 22,409評論 1 92
  • DHCP服務(wù)DHCP實現(xiàn)PXE(Preboot Excution Environment) 預(yù)啟動執(zhí)行環(huán)境Cobb...
    哈嘍別樣閱讀 2,069評論 0 1
  • 價格:14.27 平臺:美團(tuán) 菜品:初心招牌飯 外包裝是一個超大的紙袋子,和一般的塑料袋比起來更有質(zhì)感~打開盒蓋就...
    Freak_df5a閱讀 213評論 0 0