《杉岩两语》:在分布式存储测试中,IOMeter的Align如何指定

Sort:SDS百问 Release time:2019年12月27日
Share:


IOMeter是intel发布的一款测试I/O操作性能的开源软件。它除了可以在本机运行测试本机的IO(磁盘)性能之外,还提供了模拟网络应用的能力。可以运行在Windows或者linux操作系统上,主要是用于在windows进行测试,在linux上存在并发I/O不充分的问题(实测)。IOMETER因其界面友好,且能输出excel的报告受到很多客户的喜欢。Align则是指每次测试时跳过的扇区大小。


今天我们将和您一起聊聊在分布式存储测试中,IOMETER的Align如何指定。


IOMeter安装过程简单,全程“Next”就可以安装成功,可以直接从IOMeter官方网站http://www.iometer.org/ 下载安装文件,上面提供不同平台的安装文件。


IOMeter测试传统SAN(这里指阵列),不需要配置任何参数即可进行测试,因为传统SAN是以物理内存作为缓存的,可以缓存512B这种块大小的I/O,IOMeter的配置与传统存储默认就是一致的,不需要进行设置。


在云计算的普及下,分布式存储越来越多的应用的生产系统中,分布式存储主要是以SSD做缓存,SSD的管理是以4K为一个扇区来进行管理的,所以分布式存储厂商主要以4K为单位来缓存系统下发的I/O,这时如果用IOMeter的默认配置就会存在问题,如下图是IOMeter的测试项的配置,Align是指每次测试时跳过的扇区大小:



Align如何指定?


测试随机4K块写性能时,如果使用默认的Align,测试分布式存储系统性能时,会先跳过512B去下发4K给分布式存储系统,此时会出现大量的不对齐I/O导致再次命中同样cache块时产生大量的读改写操作,产生的现象是I/O性能波动很大,查看分布式存储系统的节点上SSD的IOSTAT,会看到大量的读I/O操作。


如果设置Align避免波动,且能正常测试分布式存储系统的性能,就需要了解到分布式存储系统的缓存原理,当前主要的分布式存储系统使用的基本上是以4K为单位进行缓存,所以设置如下图:



知识点:为了便于阅读,我们将Align I/O On的定义以及注意事项在此进行说明,以下内容来自surilige的博客:


Align I/O On——指定每一个磁盘I/O的对齐,默认是“扇区边界”。如果该字段的值是n字节,则每一个I/O会在磁盘的n倍字节处开始执行。取值范围从1到1023MB+1023KB+1023Bytes,但指定的值必须是磁盘扇区大小的倍数。指定0值或选择“扇区边界“单选按钮会使得I/O在扇区边界对齐。网络worker忽略该值。


注意:如果Alignment字段不是”扇区边界“且Size字段并非Alignment字段值的倍数,那么连续I/O将不会是真正的连续。例如,如果Size = 3KB,Alignment = 2KB,那么每个3KB I/O在其下一个I/O之前会有一个1KB的”洞“。例如,假设扇区是1KB大小,那么I/O落到磁盘上的视图就是DDDXDDDXDDDX….(D代表1KB数据,X代表为了对其而浪费的1KB空间)。


Your privacy is important to us

We use cookies to personalize and enhance your browsing experience on our website. By clicking "Accept all cookies", you agree to the use of cookies. You can read our Cookie Policy for more information.

Phone

Service Hotline

400-838-3331

More contact information

Top

Scan code attention