新手229660 发表于 2020-7-16 09:08
  
感谢分享
阿威十八式 发表于 2024-5-6 15:38
  
非常好,有助于工作,非常感谢!!!
FIO的集群性能测试
  

QI 10175

{{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人已打赏

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

本版版主

217
278
151

发帖

粉丝

关注

本版达人

皮皮虾·真

本周建议达人

郑州网络

本周分享达人

二进制网络

本周提问达人