Ceph业务用vdbench测试时性能偏低的问题,遇到过多次了多起案例接触下来也梳理一些经验,通常反馈过来是读或者写达不到用户的测试用例值,一般大厂的用例都是比较科学的,也都经过实践。
性能不佳有两个角度,一个是服务器自身的调优,比如BIOS等设置是否保证了服务器处于性能最优态了,以及硬件本身是否支持达到这个性能值,主要是网卡的性能,因为分布式存储的性能表现和网络性能强相关,因而网卡的驱动固件版本也应该纳入考虑,如下是一些实际遇到过的案例经验
- mellanox的CX5性能测试结果比CX4芯片的测试结果有较大提升
- 同样的MCX4网卡,新驱动如5.9比inbox驱动测试结果有较大提升
- 服务器自身的BIOS设置,numa功能开启并保证数量最多时测试结果有较大提升
还有一个角度是系统下的性能调优,对于numa架构的CPU平台,绑核测试很有必要,并且网卡相关的队列数和ringbuffer都建议调整到最大,通过网卡参数和绑网卡所在numa节点对应的cpu core,测试结果有一定提升
有时候用尽手段都无法达到预期值,就需要排查下故障了,最好能有一个可以达到目标的服务器整体配置作为参考,如果相同配置其它服务器可以测试通过,那可以在无法测试通过的服务器上用iperf来测试网卡打流能否打到正常值,再用fio测试所有硬盘的性能能否达到本体的spec值,以及通过加压工具查看CPU压力能否打满,都排除过后最重要的是网络的延迟,这在iperf测试也能看到,iperf3测试时有一列是retry值,如下图倒数第二列,网络优秀时应该为0
具体到应用层也可以通过ceph命令来确认有无延时,ceph osd perf,如下图两个两个延时值都是0时才是正常的,当不为0时,性能值就会异常,这是实际案例中遇到过的一个问题,不过也和场景有关系,全闪场景对网络要求更高,影响会较大