【运维案例】NFS存储性能急剧下降问题

产品:openEuler

版本:22.03 SP1

分类:性能/分布式存储

来源:现网

[背景及现象描述]

  1. 启动nfs-server服务后,采用nfs的默认配置,正常可以达到千兆网的速率
  2. 经过不到1天的写入操作,客户端响应速度非常慢,基本只能到2MB/s (现场切换过v4 v3不同协议都有此问题)
  3. nfs-server端暴露的路径对应硬盘是ssd单独压测性能一直比较稳定
  4. 故障出现后无法通过重启nfs-server和rpcbind恢复,必须要重启nfs-server所在的欧拉才能恢复

[原因分析]

存在以下两个内核缺陷

  1. 内存申请集中在一个numa node上面(次要原因)
  2. 申请内存的流程中,申请内存时,不会同步回收内存,后台回收内存速度慢。当申请不到足够的内存时等待500毫秒。 主要体现在服务端cache上涨至50%时性能就会骤降,是导致nfs存储性能下降的主要原因。(代码如图)

[解决方法]

合入内核补丁解决:kernel/git/torvalds/linux.git - Linux kernel source tree

3 个赞