使用华为云SFS盘出现rpc_check_timeout:939 callbacks suppressed原因分析
0. 问题描述
华为云SFS: 是一种高性能文件存储,可以在裸金属服务器中中通过网络协议挂载使用,支持NFS和CIFS的网络协议。
笔者在使用华为云GPU裸金属服务器时, 将数据放在SFS盘中, 并发建立多个NFS链接,并发的读写数据,做大模型训练。
但有时候发现读取速度变慢,并且SFS客户端报错"rpc_check_timeout:939 callbacks suppressed".
笔者一度以为是SFS服务端性能不够或者故障,但是经过一系列沟通定位, 并不是这样的。现总结如下。
1. 原因分析
笔者根据SFS客户端日志分析出现问题的时间点发现,sfs盘连接的客户端个数较多,在问题的时间点并发读取数据,I/O超高;
当前SFS服务端的机制是:当SFS盘的性能到上限时,就会IO排队。IO排队造成处理时间超过 1 分钟时,客户端内核就会打印"rpc_check_timeout:939 callbacks suppressed".日志。这个日志只是说明某个 IO 处理时间超过 1 分钟了,不会造成数据丢失。客户端有重试机制,等峰值过去后,所有 IO 最终都会正确处理。
所以理论上,出现该错误日志, 并不会造成数据丢失, 只是SFS客户端I/O速度变慢或卡顿,但最终会争取处理。
2. 建议方案
1. 结合当前购买的SFS盘性能规划自己的业务, 建议不要跑到性能上限,这样业务体验也不好;
2. 可以多买几个 sfs turbo 实例,分担一下压力, 或者更换超高性能的SFS盘;
3. 建议一个SFS实例容量不要搞太大,同样的成本可以多买几个SFS实例
3. 附SFS不同产品的性能一览图
详情可参考: https://console.huaweicloud.com/sfs/?locale=zh-cn®ion=cn-north-4#/sfs/createturbo
- 点赞
- 收藏
- 关注作者
评论(0)