当前位置: 技术问答>linux和unix
NFS疑难杂证
来源: 互联网 发布时间:2017-02-05
本文导语: 路由:千兆 机器酌置:硬盘7200转,其它配置也都还可以。 测试1:连续读取单个大文件(>1G)时(十几部电影),网络带宽能占到60%(平均)。 测试2:连续读取多个小文件(1MB10KB)时(散碎文件10万个左右),网络带...
路由:千兆
机器酌置:硬盘7200转,其它配置也都还可以。
测试1:连续读取单个大文件(>1G)时(十几部电影),网络带宽能占到60%(平均)。
测试2:连续读取多个小文件(1MB10KB)时(散碎文件10万个左右),网络带宽只能占到1.5%(平均)。
注:系统的所有设置项都是默认值。
注:mount的TCP,UDP都试过了。
问题:NFS对大量小文件读取的效率这么差吗?还是的参数或系统设置需要调整一下?
机器酌置:硬盘7200转,其它配置也都还可以。
测试1:连续读取单个大文件(>1G)时(十几部电影),网络带宽能占到60%(平均)。
测试2:连续读取多个小文件(1MB10KB)时(散碎文件10万个左右),网络带宽只能占到1.5%(平均)。
注:系统的所有设置项都是默认值。
注:mount的TCP,UDP都试过了。
问题:NFS对大量小文件读取的效率这么差吗?还是的参数或系统设置需要调整一下?
|
不是NFS对大量小文件读取效率差,是目前整个IO体系都效率差....要尽可能避免多次IO
在windows里,往U盘copy数据,你试试看copy套图到U盘,然后再试试看把套图打包成rar再copy到U盘,就知道效果了...
在windows里,往U盘copy数据,你试试看copy套图到U盘,然后再试试看把套图打包成rar再copy到U盘,就知道效果了...
|
将小文件打包一般是通用手段
|
那剩下提高IO性能的方法,估计你更没法用了,比如将NFS建在Raid0上,或是将NFS建立在独立的存储上,例如磁盘阵列柜,磁盘IO性能的提高是很大的难题...这是硬伤。
那姑且先修改下内核参数试试看吧,不保证能提升多少
vi /etc/sysctl.conf
添加:
vm.dirty_writeback_centisecs = 3000
vm.dirty_ratio = 40
vm.dirty_background_ratio = 15
保存退出后 执行 sysctl -p
那姑且先修改下内核参数试试看吧,不保证能提升多少
vi /etc/sysctl.conf
添加:
vm.dirty_writeback_centisecs = 3000
vm.dirty_ratio = 40
vm.dirty_background_ratio = 15
保存退出后 执行 sysctl -p
|
那么带宽使用效率恐怕没法上升了,因为目前这个速度,已经是你硬件能提供IO效率的上限了
还不明白么? 你的瓶颈在磁盘IO上。
如果想在当前的硬件基础上继续缓解实时的IO问题,只能尝试使用ramdisk了
1. NFS写数据到ramdisk
2. 定期从ramdisk上写数据到物理磁盘
但第2步的速度依然会很慢,因为已经是受你的硬件限制了,而且如果断电,则ramdisk未写入硬盘的数据丢失。
还不明白么? 你的瓶颈在磁盘IO上。
如果想在当前的硬件基础上继续缓解实时的IO问题,只能尝试使用ramdisk了
1. NFS写数据到ramdisk
2. 定期从ramdisk上写数据到物理磁盘
但第2步的速度依然会很慢,因为已经是受你的硬件限制了,而且如果断电,则ramdisk未写入硬盘的数据丢失。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。