关于Iometer测试的一些总结

前段时间一直在用Iometer对一家云存储进行测试。刚刚开始测试的时候,存储厂商推荐我们采用Iometer进行测试。那会不明就里,说那就用iometer吧。在测试的过程中,发现存储厂商的产品基本可以提供千兆网卡的极限带宽,大约稳定可以提供110MB左右的带宽流量。本来我们系统设计中,所有的写入带宽流量也就大概80M左右,当时真是觉得好神奇的说。以为真的是存储厂商能够将小数据块的处理能够做到如此高效,当时针对台湾银民的技术有点无线崇拜的赶脚。

万幸的是,他家存储坏了一根网线,速度下降了很多,我们需要重新测试,另外根据公司总工程师的意见,需要我们增加测试,主要增加直接调用WINDOWSAPI进行文件操作,因为本系统最后都是采用这种方式进行文件操作滴,悲催的我啊无奈被增加好多工作量。but,转机就在这里发生了。采用iometer测试,每次测试的效果确实都很理想,千兆网卡的每次都能到110MB的带宽,但是,当采用我们自己写的API函数测试的时候,这个带宽就急剧下降了,采用30MB左右,这里需要补充说明一下,我们让存储厂商底层数据进行了数据备份,总数据3份,冗余数据为2份。和厂商沟通后,我们增加了操作线程的数量,但是网络带宽并没有明显的增加。纳尼?为神马会出现这个问题?难道是我的程序写的实在是惨不忍睹?难道真的是要打破我刚刚准备要从事计算机行业的心么?

接下来,我们又被迫增加了一些关于Iozone的一些测试,以发现那个唯一存在的真相。用Iozone的测试结果,大概是31-32MB左右,和API的结果有点接近。为虾米呢?然后开始对Iometer进行分析了。Iometer 可以被用来测量和描述(来源百度百科):

磁盘和 网络控制器的性能
总线的 带宽和时延容量
对于附带驱动器的 网络吞吐量
共享 总线的性能
系统级别的硬件驱动的性能
系统级别的网络性能
另外再附其他网友的几篇博文:
http://support.huawei.com/ecommunity/bbs/10141935.html
http://isjin.blog.51cto.com/612537/528622,
http://blog.chinaunix.net/uid-26395097-id-3204319.html,(原文就不附了)。

总的来说,Iometer测试的结果更加进行硬件的理论值,它基本不涉及到软件层面的设计。我们原来对云存储的测试,仅仅是硬件层面,理论上能够给我们提供的网络带宽,这个就是高速公路一样,就给了我们那么大的带宽,硬件给我们最大的IO能力。而我们API的操作及Iozone的测试,就涉及到云存储内部软件的处理逻辑了。这个意义上的数值,可能对我们的编程更加具有指导意义。因为我们最终的问题都要落实到软件层面上,这里面的软件处理逻辑及能力,才是我们最终要求的网络速度。那么Iometer的测试,是不是就木有意义了呢?我个人感觉,Iometer的测试,还是有一定的意义的。它可以说明云存储整体设计的最大吞吐量,这个对我们整体的把握云存储也是一个很有意义的指标。
另附一篇关于Iometer中outstanding的博文:http://blog.csdn.net/wanggongzhen1983/article/details/5405372(原文略)。
最后感谢各位网友的劳动。小小心得,很简单的一点经验,自己记录。

你可能感兴趣的:(关于Iometer测试的一些总结)