NFS随机IOPS性能不高的分析

最近做FS3,一直对nfs的随机IOPS性能不高所困扰,所以细细分析了nfs的运行机制:

NFS做数据传输是通过RPC调用来完成了。RPC调用的特点为,发起调用的进程会等待服务器端完成调用,在服务器端完成调用之前,

发起调用的进程是会一直被阻塞的。

同时对于NFS来说,一个nfs client端到一个nfs Server端只会建立一个连接。nfs服务请求的处理过程是,只有上一个请求处理完成后,

才能处理下一个请求。所以处理过程是串行的,而不是并发的,这就导致了NFS处理随机IO能力不高。例如:

目前SAS硬盘的随机读写的寻道时间大约为4-5ms,所以当把这样的多块硬盘做成一个raid0,单个IO的响应时间也不会低于4ms,

由于NFS处理是串行的,所以这时读IOPS最多只能达到1000ms/4ms每个=250 IOPS。对于本地的raid磁盘组,虽然单个IO的响应时间为4ms,但由于是可以并发处理的,

也就是说,多个IO是同时发到各个硬盘上去的,这样总体的IOPS会很高,而对于NFS时,由于NFS处理是串行的,所以其IOPS不会因raid而更高。

另,由于很多NFS Server对于写操作,不必等真正写到磁盘中去时,才返回,所以写IOPS可以远远高于读IOPS。

结论:NFS的读IOPS与单个随机读IO的响应时间成反比,响应时间越短,读IOPS越高。所以ssd盘做nfs的IOPS大大高于普通硬盘的IOPS。

觉得文章有用?立即:和朋友一起 共学习 共进步!

建议继续学习:

  1. Linux下的NFS    (阅读:2817)
  2. Oracle11g Direct NFS 测试    (阅读:2509)
  3. fio配合cgroup测试存储设备IOPS分配    (阅读:1803)
  4. 基于DRBD的高可用NFS解决方案分析    (阅读:624)

QQ技术交流群:445447336,欢迎加入!

扫一扫订阅我的微信号:IT技术博客大学习

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章