iozone测GlusterFS吞吐量

 

测试一个多月对iozone、fio有了解,也明白了一个道理:问题是一点一点解决的,关键要持之以恒。

 iozone:一些大家都知道或者能查到的指令和问题就不做解释,直接解决和说明我在工作中针对测试Gluster遇到的问题和经验。

     

1.测试结果代表的的含义

首先说明下在测试过程中遇到的两种模式:

-a  叫自动模式

是针对单个文件的测试,测试结果也是很好理解的,就是某个下小的文件在以指定的块大小写入时的吞吐量(即传播速度)。

-t 这个是在测试过程中主要用得到的模式,多线程模式

-t指定创建的线程数,当线程都创建好以后每个线程分别同时创建一个文件去读写

    举例说明  iozone –t 2 –s 3m – r 50k –I 0 –I 1  F test1 test2  (强调必须的大写的F)

Ø       这个指令是说 创建两个线程 这两个线程同时写文件,线程1写test1,线程2写test2,文件大小为3m 以 50k的块大小去写

Ø       在这里可以插一句块大小与iops的关系:吞吐量=块大小*iops

Ø       当有其中一个文件写成个之后,这个测试就结束

Ø        关于测试结果:

1.children see……. 这个比较重要,就是要测的Gluster客户端的吞吐量,是所有线程的吞 吐量相加.                 设这个值为 w

2.patent see….        这个数比较小 不重要可以不看的数字

3.min……                这个是两个或多个线程中,吞吐量最小的那个                                                                              设这个值为 min         

4.max…….              是两个或多个线程中,吞吐量最大的那个                                                                                      设这个值为 max

5.ave..........              这个是多个线程的平均吞吐量                                                                                                           设这个值问ave

6.min xfer……       我也不太理解是什么意思,在我测试过程中基本没用到。

 

这些含义都是个人的推理:

           设程序执行时间为 T   ,假设连个进程分别写的是 3m文件,则  测试结束时  一个文件大小为 3m 另一个大小问 M (M <3 m,因为它没写完)

                          得公式   w=(3+m)/T;

                                        Max*T=3m;

                                       Min*T=M;

                                     Ave= w/2(2是两线程);

验证测试结果和公式相吻合    。

          

2.多个文件的并发测试

就是-t 已经说完了

 

3.跨过缓存直接在磁盘上进行指令在测试GlusterFS时不可用

-I  指令在iozone 中的意思是跨缓存直接写磁盘,但是在Gluster的客户端测试时,这个指令不可用,提示错误。没有办法,在Fio中也是有同样的错误,真是愁了我好一阵子,但是我在我无意中发现-o同步写磁盘这个指令 感觉和跨缓存的测试结果应该差不多,但在测试还是存在测试数据不准确,竟然超出了网络带宽,这个应该是Gluster的X lator导致,现在正在把Gluster的配置文件中的关于性能的Xlator去掉。

4.GlusterFS的多client测试方法

      这个真是比较麻烦,iozone支持Gluster的多客户端测试,测试的大致思路是,在一台服务器上同时向Gluster的两台client端同时发送指令,进行写文件测试。

首先要配置好rsh,因为同时向两个client发送指令需要无密码登陆,iozone 的 +-m指令就是这么要求的。具体配置rsh我就不多说,其次就是

      Iozone –t  2 –s 32m –r 50k  -+m client.txt  这个client.txt文件的写法   :198.168.1.111  /mnt/dht3-client  /bin/iozone 这三部分 别是 Gluster client所在的服务器   client路径 和 在client服务上 iozone的执行路径  知道这些就基本能搞定了

4.Gluster的ls测试

这个还是 很好测的  time ls 就可以了 。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值