提示

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

发布于2019-09-11

  • 分布式存储
  • Align


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空间)。


分享至:

联系

我们

400-838-3331

在线

客服