小文件及高并发场景下客户端使用卡顿
最近更新时间: 2023-03-15 17:38:07
背景
CFS 文件存储支持 NFS v3.0 及 NFS v4.0 协议, 其中 NFS v3.0 是 NFS 协议较早期版本,兼容 Windows 客户端;NFS v4.0 协议为稍后期版本,支持文件锁等功能。
客户端现象
在大量小文件或者大小文件混合场景下,用户在容器或者云服务器CVM 等客户端使用 NFS v4.0 协议挂载CFS文件系统,可能在应用运行一段时候后出现:客户端负载居高不下,无限累加,业务读取数据慢或无响应,但是业务进程 CPU使用率并不是很高的情况。
问题原因
上述问题出现的主要原因是 NFS v4.0 协议的限制, 客户端使用 NFS v4.0 同时大批量读写文件时由于协议的 OPEN/CLOSE 操作为串行化,因此在客户端大量操作请求并发情况下,协议处理会形成阻塞。
使用优化
如果业务应用存在大量小文件的场景,或者并发操作文件数量巨大,推荐客户端使用 NFS v3.0 协议挂载。以下为规避大量小文件及高并发请求下云服务器CVM高负载的问题处理方法。
如图所示,进入 文件存储 CFS 控制台,打开待挂载的文件系统详情中的【挂载点信息】,找到如下图的 NFS v3.0 挂载命令。使用该挂载命令挂载文件系统即可。