FIO的集群性能测试
  

QI 9476

{{ttag.title}}
性能测试当前已经成为一个很重要测试模块,通常在进行性能测试的时候都是使用IOMeter来完成的,在windows下的图形界面,操作比较简单。那么linux下如何进行集群的性能测试呢?这里我尝试使用FIO在linux下完成对集群的测试方法。

测试环境:


4台主机,12个虚拟机,每个虚拟机2块待测试磁盘。


测试流程:

导入虚拟机
模板部署(不要分配个人磁盘,需要配置IP和hostname)
批量编辑虚拟机添加2块20G的预分配磁盘(操作2次,1次只能添加1块)
进入所有虚拟机关闭防火墙并打开监听(2.0的模板已预先完成)
编辑测试模型脚本(.job)
编辑测试执行脚本(.sh)
为执行脚本.sh 添加权限(2.0的模板已预先完成)

执行脚本./fio_test.sh开始测试。


注意事项:

1、待测试的两块硬盘使用预分配模式,为了避免配置复杂,建议在派生的时候不要添加私有盘,而是在派生结束之后,批量添加2块预分配盘。待测试的盘直接挂载即可使用,切勿对其进行格式化。

2、性能测试需要为所有虚拟机配置IP,FIO提供的脚本并无配置IP的功能,需要在派生虚拟机时完成IP的分配,同时为虚拟机手工指定hostname,方便观察输出。


3、所有的待测试脚本只需要在其中一台虚拟机上配置即可。


测试过程:


新建/导入linux虚拟机,我使用的是某公司之前提供的用于FIO单虚拟机测试的模板(centosfio_vma)。


对虚拟机模板派生,我这里的环境是4主机的延伸集群,使用12台虚拟机来测,派生13台是为了和另外12台区分。只用12台也可以,FIO测试并没有控制端和客户端的说法。


注意将所有的虚拟机连接在同一台虚拟交换机上,并配置IP,否则后面要一台一台的配很麻烦。


注意:派生时先不要创建私有数据盘,因为创建的私有数据盘默认是动态分配的,后续还要手动为每个数据盘修改为预分配盘。

派生完毕之后,对所有的虚拟机进行批量添加硬盘操作,在批量添加硬盘时可以选择为预分配。不过一次批量只能编辑一块盘,需要进行两次批量编辑。


编辑完成,打开虚拟机配置进行确认。确认有两块预分配盘和网卡IP。


配置hostname,是因为后续在脚本输出的时候,是根据hostname回显的,方便查看。


将虚拟机开机,保证平均运行在所有主机上。测试环境部署完毕。



打开所有被测虚拟机,查看其有两块磁盘,同时关闭防火墙,并打开监听。(2.0的新模板已默认关闭并打开监听)可使用ps -aux | grep daemonize 查看是否开启监听。


进入其中任意一台虚拟机,写入测试脚本

[global]
ioengine=libaio
runtime=300            #运行时间
direct=1
rw=write                  #读写模式
bs=1M                     #块大小
iodepth=32            #IO深度
group_reporting
[test ]
time_based
stonewall
filename=/dev/vdb     #虚拟磁盘1,这个也要根据虚拟机的磁盘ID修改
filename=/dev/vdc     #虚拟磁盘2,这个也要根据虚拟机的磁盘ID修改
size=10G

numjobs=2                #多少个磁盘设置多少个numjobs


【预写脚本】


【4K随机写】


【4K随机读】


写一个测试的shell脚本用于测试,可根据测试模型自行修改,将待测模型的.job文件替换到job参数里。将待测试的其他虚拟机IP替换到fio命令中。


为脚本添加执行权限,执行测试脚本:



在最下方的回显中,可以实时的看到测试结果。包括测试进度、带宽、IOPS、剩余时间。


每个脚本跑完之后会等待60s,60s之后接着跑第二个脚本,最终的测试结果会呈现在一个txt文件中,在统计txt文件中的数据时,需要手动统计,将每个text进程的iops数值累加以得到最终的结果。


测试结果就不在这里写了,主要突出一下测试流程。





打赏鼓励作者,期待更多好文!

打赏
4人已打赏

good_Knight 发表于 2020-7-1 16:49
  
感谢分享测试工具与测试方法,通过自动化测试脚本可以快速测试集群虚拟机的IO性能,更客观评价集群性能
灵峰气韵 发表于 2020-6-29 09:09
  
超详细的第三方IO测试工具FIO测试集群性能的过程,fio在Linux系统下使用比较方便,还分享了测试脚本,谢谢
JM 发表于 2020-6-29 10:03
  
感谢分享
新手612152 发表于 2020-6-29 11:26
  
感谢分享
nihongliang 发表于 2020-7-1 14:15
  
哈哈,我们小吴找到你了吧
新手758702 发表于 2020-7-3 11:17
  
楼主,是你让我深深地理解了‘人外有人,天外有天’这句话。谢谢你!在看完这帖子以后,我没有立即回复,因为我生怕我庸俗不堪的回复会玷污了这社区少有的帖子。但是我还是回复了,因为觉得如果不能在如此精彩的帖子后面留下自己的网名,那我会遗憾终生的!
新手780102 发表于 2020-7-6 10:48
  

感谢分享
新手517842 发表于 2020-7-6 11:21
  

感谢分享
新手821823 发表于 2020-7-7 08:53
  
感谢分享
发表新帖
热门标签
全部标签>
每日一问
技术笔记
技术咨询
功能体验
新版本体验
2023技术争霸赛专题
干货满满
技术盲盒
标准化排查
产品连连看
GIF动图学习
技术晨报
信服课堂视频
安装部署配置
运维工具
深信服技术支持平台
秒懂零信任
自助服务平台操作指引
答题自测
安全攻防
每日一记
通用技术
云计算知识
SDP百科
畅聊IT
sangfor周刊
资源访问
排障笔记本
卧龙计划
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
用户认证
原创分享
解决方案
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
迁移
地址转换
虚拟机
存储
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
纪元平台
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

217
274
151

发帖

粉丝

关注

本版达人

皮皮虾·真

本周建议达人

郑州网络

本周分享达人

二进制网络

本周提问达人