目录
1 概述
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126
fio的主要功能和用途包括:
测试不同读写模式:fio可以进行随机读取、顺序读取、随机写入、顺序写入等不同的读写操作模式的性能测试。
模拟多种负载类型:fio支持模拟多种负载类型,如随机访问、顺序访问、混合随机/顺序访问、随机混合读/写等,以测试存储系统在不同负载下的性能表现。
定制化参数配置:fio提供了丰富的参数选项,可以根据测试需求自定义I/O块大小、队列深度、线程数、运行时间等。
支持多种输出格式:fio可以生成多种输出格式的结果报告,包括简洁的统计数据、图形可视化、日志文件等,方便用户分析和比较测试结果。
并发测试能力:fio支持并发测试,可以同时模拟多个客户端或多个线程对存储系统进行负载,从而测试系统的并发处理能力。
fio是一个强大而灵活的性能测试工具,广泛应用于存储系统评估、性能优化和基准测试等方面。它可以帮助用户深入了解存储系统的性能特征,识别潜在的性能瓶颈,并进行性能调优和优化。下载地址:https://github.com/axboe/fio/tree/fio-3.35
2 安装准备
2.1 操作系统环境
操作系统版本:KOS 5.8 sp2u1(5.10.134-17.2.2.kos5.x86_64)
测试架构:x86_64,8核4G虚拟机
2.2 软件版本
Fio 3.35
3 编译安装
安装之前需要先安装依赖包yum install -y libaio-devel再编译安装
下载源码后编译安装,涉及编译安装过程:设置源码权限:chmod -R 755 fio,根目录下执行./configure,成功之后make -j && make install。生成二进制文件,编译安装就成功。
4 测试场景
根据操作系统的磁盘类型不同,需要对hdd和ssd两种磁盘进行压测,固态盘的性能一定是优于机械盘;块大小分别可以从4k-16m,梯度设置,需要绕过操作系统的缓存,达到更真实的测试效果,测试文件size也可以根据操作系统配置来梯度设置,一般1G-100G之间,numjobs是并发执行的作业数,这个值也会影响io性能效率;io引擎默认使用常用的libaio。
队列深度也需要调整,根据经验一般是numjobs跟iodepth乘机是一个固定值,性能更优
5 测试执行
选定一组场景进行压测:
./fio --name=randread --ioengine=libaio --rw=randread --bs=4k --numjobs=1 --size=64G --ramp_time=10s --runtime=60s --time_based --direct=1 --filename=/dev/sdb --iodepth=32
测试结果如图,IOPS越大,性能越优
6 最佳实践
可以将bs大小、iodepth、numjobs动态调整:iodepth=128 numjobs=1 bs块大小按梯度递增覆盖