中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

使用libaio引擎执行fio测试时osq_lock函数CPU利用率偏高的解决方法

问题现象描述

使用libaio引擎执行fio测试时,perf top显示内核空间osq_lock函数的CPU利用率超过40% 。

关键过程、根本原因分析

libaio引擎的内核空间osq_lock函数的CPU利用率超高。

结论、解决方案及效果

这里的测试的目的是检验Ceph的性能。如果是用kernel rbd的方式, 则需要使用libaio引擎来测试,其内核函数CPU占用率较高。 如果直接使用用户态librbd库做为引擎来测试可以避免该问题。

  • 使用libaio引擎测试时执行的命令
    fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -numjobs=1 -group_reporting -name=test1 -filename=/dev/your_device
  • 替换成用户态librbd作为引擎时执行的命令
    fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=rbd -bs=4k -numjobs=1 -group_reporting -name=test1 -pool=yourpool -rbdname=imagename