一次CephFS性能分析
1. 背景
小明在使用文件系统的过程中发现上传一个文件夹花了半个小时,下载一个文件夹要花更长的时间,不可思议,确实下载速度应该远远大于上传速度的,我们来分析下问题出在哪
文件的情况:
- 文件大小: 6.3G
- 文件个数: 252494
- 小明使用文件系统作为容器的持久化存储
2. 性能分析思路
2.1. 理论值计算
一切分析从数据出发,首先看下正常应该是怎么样的
hdd 下一般磁盘 4k 随机写 iops为1000左右
- 测算依据
- 文件个数
- 文件大小
- 4k的iops 1000左右
- 测算过程
- 6.3G / 252494 平均每个文件大小 26k
- 对应的26k的iops 26/4=6.5 1000/6.5 = 153
也就是说理论上传时间需要28分钟 252494 / 153 / 60 = 28
2.2. 实际操作下看能不能复现
将文件系统挂载到跟有问题的环境网络环境差不多的虚拟机上
拷贝文件
2.2.1. 性能分析关注点
一切性能问题,要么是CPU计算不过来了,要么是内存满了(使用swap),要么是磁盘慢、网络繁忙
加粗的指标重点关注
- CPU、内存
文件系统的话服务端是MDS,传输过程中查看MDS的内存占用和CPU占用 - 磁盘压力
- ceph层面的io性能指标
- ceph -s输出中的 client.io
- ceph osd perf|sort -rnk 20 有没时延特别高的上百的
- 本地磁盘的io性能
- iostat
- r/s 读ops
- w/s 写ops
- rMB/s 读带宽
- wMB/s 写带宽
- await 时延
- %util 利用率
- iostat
- ceph层面的io性能指标
2.2.2. 开始分析
上传文件的过程中分析
2.2.2.1. ceph -s
client: 0 B/s rd, 3.5 MiB/s wr, 72 op/s rd, 461 op/s wr
关注这行,正常的hdd集群有压力的时候前两个数值其中一个在100以上,后面两个数值至少在1000以上,在上传过程都没超过,说明集群本身没问题
2.2.2.2. 查看mds服务
ceph fs status 可以看到哪个是主mds,请求只到主mds上
cephfs - 11 clients
======
+------+--------+--------+---------------+-------+-------+
| Rank | State | MDS | Activity | dns | inos |
+------+--------+--------+---------------+-------+-----
CephFS性能瓶颈诊断:从理论到实践

最低0.47元/天 解锁文章
2122

被折叠的 条评论
为什么被折叠?



