3

【干货分享】优麒麟上的硬盘读写性能测试(附感恩节获奖名单)

 2 years ago
source link: https://www.ubuntukylin.com/news/1711-cn.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【干货分享】优麒麟上的硬盘读写性能测试(附感恩节获奖名单)

发布时间:2021-11-25 13:54:00 点击次数:37

当我们做磁盘读写性能测试的时候,性能测试工具必不可少。目前市场上有很多可以做性能测试的工具,本文介绍一款可以在优麒麟系统上使用的性能测试工具:iozone。

性能测试主要是通过自动化测试工具模拟多种使用场景(正常情况、高负载,高容量等),从而实现对系统的各项性能指标进行测试。系统性能测试主要包括网络性能测试(iperf、TamoSoft Throughput Test 等)、内存性能基准测试(memtaster、unixbench 等)、硬盘读写功能性能测试(iozone、fio 等)以及系统反应时间性能测试(lmbench)等。

当我们做磁盘读写性能测试的时候,性能测试工具必不可少。目前市场上有很多可以做性能测试的工具,本文介绍一款可以在优麒麟系统上使用的性能测试工具:iozone。

性能测试主要是通过自动化测试工具模拟多种使用场景(正常情况、高负载,高容量等),从而实现对系统的各项性能指标进行测试。系统性能测试主要包括网络性能测试(iperf、TamoSoft Throughput Test 等)、内存性能基准测试(memtaster、unixbench 等)、硬盘读写功能性能测试(iozone、fio 等)以及系统反应时间性能测试(lmbench)等。

iozone 是一款用于测试文件系统的读写性能的开源工具,可以测试读取(read)、写入(write)、重读(re-read)、重写(re-write)、倒序读(read backwards)、调用库函数 fwrite 写(fwrite) ,调用库函数 fread 读(fread)、跳跃读(read strided)、随机读(random read) 、 随机写(random write)等等不同的模式下的硬盘的性能。下面介绍 iozone 的下载、安装及使用情况。

1.下载安装包

首先下载 iozone 的安装包,可以直接使用浏览器下载或者在终端使用 wget 命令下载 iozone 的 tar 包。其下载网址为 http://www.iozone.org/src/current/  ,在其网址下有多个 iozone 版本,可以根据具体需要进行下载。下载命令及详情如图1所示。

终端下载命令:

wget http://www.iozone.org/src/current/iozone3_491.tar

优麒麟(Ubuntu Kylin)

图1:下载 iozone 的 tar 包

2.解压

其次使用 tar 命令将下载的 iozone 的 tar 包解压至相应的路径下,例如将其 iozone 的 tar 包解压至“/opt”下。解压命令及解压情况如图2所示。

解压 iozone 的 tar 包至“/opt”目录下的命令:

sudo tar -xvf iozone3_491.tar -C /opt/

优麒麟(Ubuntu Kylin)

图2:解压iozone的tar包

3.编译

然后将其目录切换至 iozone 解压后的“/src/current”下使用 make 命令进行编译,与手工编译、连接相比,make 编译在一定程度上实现了自动化编译,它只会更新修改过的文件,对于没有修改过的文件不会重新生成,并且不会漏掉任何一个需要更新的文件,从而提高编译效率。iozone 的 make 编译命令如图3所示。

切换至“/src/current”目录下命令:

cd /opt/iozone3_491/src/current/

iozone 的 make 编译命令:

make linux

优麒麟(Ubuntu Kylin)

图3:iozone 的 make 编译

4.测试

根据测试文件大小的不同,iozone 磁盘读写性能的测试方法主要包括1倍内存测试和2倍内存测试。其中,1倍内存测试和2倍内存测试分别如图4和图5所示。

iozone 的1倍内存测试命令:

sudo ./iozone -s 8G -r 16M -i 0 -i 1 -i 2 -f /mnt/iozone -Rb /home/result/result.xls

优麒麟(Ubuntu Kylin)

图4:iozone 的1倍内存测试

iozone 的2倍内存测试命令:

sudo ./iozone -s 16G -r 16M -i 0 -i 1 -i 2 -f /mnt/iozone -Rb /home/result/result1.xls

优麒麟(Ubuntu Kylin)

图5:iozone 的2倍内存测试

关于 iozone 测试命令中的各参数的具体含义如下所示:

①-s:表示指定测试文件的大小(file size)

②-r:表示一次写入/读出的块大小即记录块的大小(block size)

③-i:表示指定运行的测试模式,共包括12种测试模式(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:randommix,9:pwrite/Re-pwrite,10:pread/Re-pread,11:pwritev/Re-pwritev,12=preadv/Re-preadv),其中比较常用的为0,1,2,分别表示 write,read,random

④-f:表示指定测试文件的名称,当测试结束后,会将其进行删除

⑤-R:表示产生 Excel 的输出日志

⑥-b:表示将输出结果输入到指定的相应的文件上,例如上面结果输入到/home/result 路径下的 result1.xls 文件下

5.统计

为了更加直观的统计出系统磁盘读写的性能情况,通常情况下,我们将其测试结果保存为 Excel 表格形式,如下图6所示。

优麒麟(Ubuntu Kylin)

图6:iozone 的2倍内存测试结果

还有一个我们需要注意的点,在使用 iozone 对系统磁盘读写性能进行测试时,测试文件的大小一般设置为大于或者等于内存的两倍,最佳设置为内存的两倍大小,如果将测试文件的大小设置为小于内存的大小,Linux 系统可能将读写的内容进行缓存,从而使 iozone 磁盘读写测试结果非常不准确。

以上就是关于优麒麟性能测试工具 iozone 的使用内容,如果有任何问题或需要,可访问优麒麟社区官网与我们联系,网址: https://www.ubuntukylin.com/  。

最后,特别感谢优客们积极参与优麒麟感恩节留言活动,你们的支持,是优麒麟前进的动力!请以下中奖的小伙伴将“在看”截图发送至微信公众号后台并领取奖品:

优麒麟(Ubuntu Kylin)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK