《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式系統的性能測試(2) – iozone篇
嵌入式系統的性能測試(2) – iozone篇
摘要: iozone是一個文件系統性能評測工具,可以測試Read,write,re-read,re-write,readbackwards,readstrided,fread,fwrite,randomread,pread,mmap,aio_read,aio_write等不同模式下不同文件系統的讀寫性能
關鍵詞: 軟件 嵌入式系統
Abstract:
Key words :

iozone是一個文件系統性能評測工具,可以測試Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread, mmap, aio_read, aio_write 等不同模式下不同文件系統的讀寫性能。本文介紹了它的各種功能,如何針對ARM進行交叉編譯,以及如何配置合理參數進行評測。通過在RAMFS上運行iozone,亦可測試內存子系統的性能。

 

1. 介紹

iozone的web site位于:

http://www.iozone.org/

本文中使用的軟件為:

http://www.iozone.org/src/current/iozone3_414.tar

 

iozone的主要測試內容:

Write: 測試向一個新文件寫入的性能。當新文件被寫入時,除了文件中的數據,還有被稱作“元數據”的額外信息也需要被存儲。這些額外信息包括目錄信息,所分配的空間和一些與該文件有關但又并非該文件所含數據的其他數據。因為這些額外信息,Write的性能通常會比Re-write的性能低。

Re-write: 測試向一個已存在的文件寫入的性能。因為此時元數據已經存在。Re-write的性能通常比Write的性能高。

Read: 測試讀一個已存在的文件的性能。

Re-Read: 測試讀一個最近讀過的文件的性能。因為操作系統通常會緩存最近讀過的文件數據,Re-Read性能會高些。

Random Read: 測試讀一個文件中的隨機偏移量的性能。

Random Write: 測試寫一個文件中的隨機偏移量的性能。

Random Mix: 測試讀寫一個文件中的隨機偏移量的性能。在隨機訪問的時候,許多其他因素可能影響測試結果,例如:操作系統緩存的大小,磁盤數量,尋道延遲和其他。

Backwards Read: 測試使用倒序讀一個文件的性能。盡管不常見,但事實上確實有些應用這么干,例如MSC Nastran。

Record Rewrite: 測試寫與覆蓋寫一個文件中的特定塊的性能。在跨越L1 cache、L2 cache和操作系統緩存邊界時,測試結果會發生突然變化。

Strided Read: 測試跳躍讀一個文件的性能。例如:每間隔200Kbytes,讀4Kbytes并重復這個模式。文件中使用了數據結構并且訪問這個數據結構的特定區域的應用程序常常這樣做。

Fwrite: 測試調用庫函數fwrite()來寫文件的性能。這個測試是針對新文件,所以包括元數據的寫入。

Frewrite:測試調用庫函數fwrite()來寫文件的性能。類似Re-write操作,因為是針對已存在的文件,無元數據操作,測試的性能會高些。

Fread:測試調用庫函數fread()來讀文件的性能。

Freread: 這個測試與上面的fread 類似,類似Re-Read,因為操作系統緩存了文件數據會導致測試結果比較高。

 

幾個特殊測試:

Mmap: 這個測試就是測量使用mmap()機制完成I/O的性能。許多操作系統支持mmap()的使用來映射一個文件到用戶地址空間。映射之后,對內存的讀寫將同步到文件中去。這對一些希望將文件當作內存塊來使用的應用程序來說很方便。一個例子是內存中的一塊將同時作為一個文件保存在于文件系統中。mmap 文件的語義和普通文件略有不同。如果發生了對內存的存儲,并不是立即發生相應的文件I/O操作。使用MS_SYNC 和MS_ASYNC標志位的 msyc()函數調用將控制內存和文件的一致性。調用msync() 時將MS_SYNC置位將強制把內存里的內容寫到文件中去并等待直到此操作完成才返回。而MS_ASYNC 置位則告訴操作系統使用異步機制將內存刷新到磁盤,這樣應用程序可以直接返回而不用等待此操作的完成。

Async I/O: 這個測試測量POSIX異步I/O機制的性能。許多操作系統支持的另外一種I/O機制是POSIX 標準的異步I/O。本程序使用POSIX標準異步I/O接口來完成此測試功能。例如: aio_write(), aio_read(), aio_error()。

 

2. 針對ARM交叉編譯:

iozone對交叉編譯的支持算是比較好的。打開iozone3_414/src/current/Makefile找到CC和GCC的定義并修改成如下內容。

CC    = arm-xilinx-linux-gnueabi-gcc

GCC = arm-xilinx-linux-gnueabi-gcc

注意:這里使用的是PetaLinux 2013.04的tool chain,使用前要先到PetaLinux目錄下'source settings.sh’

 

然后用命令'make linux-arm’即可完成編譯。編譯成功后 生成可執行文件iozone。

 

3. 在zc706上運行iozone

可以用以下命令看iozone的詳細參數列表和解釋:

./iozone –h

 

iozone有很多參數。在這里我們關注的是如何用iozone通過ramfs來測試和比較內存性能,在zc706上使用的命令如下:

./iozone -Raz -b out.xls -i 0 -i 1 -i 2 -S 512 -g 8M -+r

 

常用參數說明如下:

-R: 產生EXCEL格式的報告

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

-f filename: 用來指定測試時使用的臨時文件的文件名。

-z: 和-a一起,指定測試所有可能的record size

-S: 指定process cache的大小,單位是Kbytes。

-g -n: 指定file size的最大值和最小值。文件越大測試時間越長。測試文件的大小一定要大過cache,否則會使數值非常不真實。

-+r:在打開文件時的flag中包含O_RSYNC和O_SYNC,即同步讀和同步寫,保證數據真正寫到硬件上和真正從硬件上讀數據。

 

可以用以下命令創建ram file system以供測試

mkdir -p /home/root/tmpfs

mount tmpfs /home/root/tmpfs -t tmpfs -O size=32M

 

mkdir -p /home/root/ramfs

mount -t ramfs none /home/root/ramfs -o maxsize=32768

注意:缺省情況下,Ramfs被限制最多可使用內存大小的一半。可以通過maxsize(以kbyte為單位)選項來改變。

 

mkdir -p /home/root/ramdisk

mke2fs /dev/ram1 -L "ramdisk" -b 1024 -m 0

mount -t ext2 /dev/ram1 /home/root/ramdisk

注意: ramdisk的大小在配置Linux kernel的時候被指定。

 

進入到相應的目錄,執行以下命令完成測試:

tar xvf /mnt/iozone3_414.tar

cd iozone3_414/src/current/

./iozone -Raz -b out.xls -i 0 -i 1 -i 2 -S 512 -g 8M -+r

 

生成的xls report里面,行是記錄大小,列是測試文件大小,單位為Kbytes。表格中的數據是傳輸速度,單位為Kbytes/s。

 

從測試結果來看,有如下結論

* 因為是對ram file system測試,是否打開數據同步對性能影響不大。

* 對Write操作,性能ramfs>tmpfs>>ramdisk; 對Read操作,性能ramfs>ramdisk>tmfs。可以認為ramfs的開銷更小,更能反映main memory的性能。值得注意的是ramdisk的寫性能很差,只有ramfs和tmpfs的1/4左右。

 

4. 測試PL MIG的性能:

Linux的memory pool缺省是從高地址開始分配的。如果要測試PL MIG的性能,只需要簡單的修改Linux的kernel command line即可。在U-BOOT里面運行命令:

setenv bootargs console=ttyPS0,115200 root=/dev/ram rw ip=192.168.1.10 earlyprintk mem=2048M

run sdboot

啟動后cat /proc/meminfo可以看到Linux確實使用了2GB的內存。

 

重新運行benchmarker,即可得到PL DDR的性能數據。

注意:文件大小要大于L2 cache size(512KB)才有意義,否則數據都是在L1/L2 cache里面轉來轉去。

 

 

 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美午夜精品一区| 激情小说另类小说亚洲欧美| 久久精品二区| 性欧美超级视频| 中文日韩电影网站| 亚洲免费观看视频| 亚洲精品欧美日韩专区| 91久久亚洲| 亚洲电影免费观看高清| 欧美中文字幕精品| 欧美在线视频全部完| 午夜精品一区二区三区在线| 亚洲影视中文字幕| 亚洲一区二区三区中文字幕 | 18成人免费观看视频| 狠狠入ady亚洲精品经典电影| 国产一区二区激情| 狠狠色噜噜狠狠色综合久| 国模精品一区二区三区色天香| 国产三区精品| 黑人操亚洲美女惩罚| 极品中文字幕一区| 在线成人h网| 亚洲国产一区视频| 亚洲蜜桃精久久久久久久| 日韩一区二区精品视频| a91a精品视频在线观看| 亚洲视频你懂的| 亚洲自拍偷拍一区| 欧美一区二区三区电影在线观看| 亚洲淫片在线视频| 欧美一区二区三区久久精品| 亚洲成人在线视频播放 | 麻豆精品一区二区综合av| 久久看片网站| 欧美18av| 欧美日韩免费在线| 国产精品视频一二| 狠狠久久五月精品中文字幕| 在线视频国内自拍亚洲视频| 亚洲久久一区二区| 亚洲专区欧美专区| 久久精品国产精品| 一本色道精品久久一区二区三区 | 亚洲第一成人在线| 亚洲免费av观看| 午夜精品999| 久久综合中文| 欧美日韩一区二区三区四区在线观看| 国产精品女同互慰在线看| 国产一区二区欧美日韩| 亚洲国产精品www| 亚洲天堂成人在线观看| 久久精品视频导航| 一区二区三区蜜桃网| 久久av红桃一区二区小说| 免费观看日韩| 国产精品久久久久9999高清 | 91久久精品国产91久久| 亚洲一区二区成人在线观看| 久久久久www| 欧美人在线观看| 国产亚洲aⅴaaaaaa毛片| 91久久香蕉国产日韩欧美9色| 亚洲视频一区二区| 亚洲成色www8888| 亚洲男女自偷自拍| 免费日韩成人| 国产欧美日韩激情| 91久久综合亚洲鲁鲁五月天| 亚洲欧美日韩在线一区| 亚洲黄色免费网站| 午夜在线视频观看日韩17c| 麻豆精品91| 国产乱码精品一区二区三区不卡| 亚洲国产精品v| 欧美一区二区三区男人的天堂| 亚洲作爱视频| 久久夜色精品国产噜噜av| 欧美调教视频| 在线观看亚洲视频| 亚洲欧美中文日韩v在线观看| 99精品国产在热久久下载| 久久久91精品国产一区二区三区| 欧美日韩在线观看视频| 亚洲国产高清aⅴ视频| 欧美一区二区成人| 亚洲一区3d动漫同人无遮挡| 欧美黄污视频| 影音先锋欧美精品| 午夜在线一区二区| 亚洲午夜国产成人av电影男同| 久热成人在线视频| 国产日韩在线看| 亚洲视频你懂的| 国产精品99久久久久久久vr | 亚洲综合三区| 亚洲天堂成人在线观看| 免费在线视频一区| 黑人巨大精品欧美黑白配亚洲| 亚洲无人区一区| 在线视频欧美日韩| 欧美高清在线观看| 亚洲第一伊人| 最新国产精品拍自在线播放| 久久精品在线视频| 国产亚洲a∨片在线观看| 亚洲无线一线二线三线区别av| 9i看片成人免费高清| 欧美a级大片| 亚洲国产成人久久综合一区| 亚洲国产一区二区三区高清| 久久九九全国免费精品观看| 国产色综合天天综合网| 午夜精品一区二区三区电影天堂 | 欧美日韩少妇| 99精品国产热久久91蜜凸| 99精品视频一区二区三区| 欧美成人三级在线| 亚洲国产你懂的| 亚洲精品乱码久久久久| 欧美a一区二区| 亚洲高清免费视频| 夜夜躁日日躁狠狠久久88av| 欧美日本三级| 一本一本a久久| 午夜精品久久久久| 国产精品夜夜夜| 午夜精品久久久| 久久久久久网址| 黄色精品免费| 亚洲欧洲三级电影| 欧美精品在线视频| 中文av字幕一区| 午夜精品久久久久| 国产一区二区在线观看免费| 久久精品亚洲国产奇米99| 久久影视精品| 亚洲福利在线观看| 一本大道久久a久久精品综合| 欧美视频国产精品| 亚洲欧美春色| 久久蜜臀精品av| 在线观看视频亚洲| 一本色道久久综合亚洲精品婷婷| 欧美日韩性生活视频| 亚洲一区黄色| 久久午夜电影网| 亚洲精品日本| 香蕉久久夜色精品国产| 国产婷婷一区二区| 亚洲全部视频| 国产精品成人一区二区三区夜夜夜 | 欧美激情综合色| 亚洲高清免费在线| 亚洲无毛电影| 国产日韩在线播放| 亚洲欧洲日本在线| 欧美视频日韩| 欧美一区永久视频免费观看| 毛片av中文字幕一区二区| 在线观看中文字幕亚洲| 一区二区不卡在线视频 午夜欧美不卡'| 国产精品国产一区二区| 欧美一区国产一区| 欧美精品v日韩精品v国产精品| 一区二区欧美日韩视频| 久久精品国产2020观看福利| 亚洲国产美女| 洋洋av久久久久久久一区| 国产目拍亚洲精品99久久精品| 亚洲国产精品一区二区久| 欧美日韩亚洲综合一区| 午夜精品久久久久久久99水蜜桃| 久久综合给合久久狠狠色| 亚洲精品国产精品乱码不99按摩| 午夜精品久久久久影视 | 亚洲国产精品成人精品| 欧美日韩精品伦理作品在线免费观看| 亚洲欧美国产另类| 欧美福利视频网站| 亚洲综合成人在线| 欧美大片免费看| 午夜精品一区二区三区电影天堂| 欧美激情 亚洲a∨综合| 午夜在线视频观看日韩17c| 欧美久久久久久久久久| 欧美一区二区三区电影在线观看| 欧美日韩国产影片| 亚洲第一黄色网| 国产精品毛片在线| 亚洲三级色网| 国产情侣一区| 一区二区三区欧美| 精久久久久久| 欧美一区二区黄| 日韩一级网站| 欧美电影在线观看完整版| 午夜精品久久久久久久久| 欧美日韩成人一区二区|