NFS使用详解之三.NFS传输速度优化

NFS性能优化/调优 NFS性能调优--实时监测 - 程序员大本营 阅读详情
AI摘要

本文深入探讨了NFS传输速度优化的方法,包括设置块大小、网络传输包大小、NFS挂载优化及NFSd的配置。通过提供实测参数对比,指导如何实现快速的NFS数据传输。

十、nfs的传输速度优化
如果按
$ mount -o nolock 192.168.1.220(假设为宿主机ip):/mnt/nfs /mnt/nfs_t 
来mount ,传输速度可能很慢, 
只有几K到几十K左右,
所以想要获得较快的速度就要对nfs进行优化。
  
  
1.设置块大小
mount命令的
  risize和wsize指定了server端和client端的传输的块大小。


如果没有指定,
那么,系统根据nfs的版本来设置缺省的risize和wsize大小。大多数情况是4K(4096bytes),
对于nfs v2,最大是8K,
对于nfs v3,在server端设置risize和wsize的限制,
  最大块大小在kernel的常量 NFSSVC_MAXBLKSIZE,
  该常量在usr/src/linux2.4/include/linux/nfsd/const.h.
  所有的2.4 的client都支持最大32K的传输块。


系统缺省的块可能会太大或者太小,这主要取决于你的kernel和你的网卡,
太大或者太小都有可能导致nfs 速度很慢。
具体的可以使用Bonnie,Bonnie ,iozone等benchmark来测试不同risize和wsize下nfs的速度。


当然,也可以使用dd来测试。
这是来测试nfs写:
$ time dd if=/dev/zero of=/testfs/testfile.dat bs=8k count=1024
1024+0 records in
1024+0 records out
8388608 bytes (8.4 MB) copied, 0.009669 seconds, 868 MB/s


real    0m0.013s
user    0m0.000s
sys     0m0.013s


这是测试nfs读:
$ time dd if=/testfs/testfile.dat of=/dev/null bs=8k 
1024+0 records in
1024+0 records out
8388608 bytes (8.4 MB) copied, 0.002015 seconds, 4.2 GB/s


real    0m0.003s
user    0m0.000s
sys     0m0.002s


测试时文件 /testfs/testfile 的大小至少是系统RAM的两倍,
每次测试都使用umount 和mount对/testfs进行挂载,
通过比较不同的块大小,得到优化的块大小。


2.网络传输包的大小
网络在包传输过程,对包要进行分组,过大或者过小都不能很好的利用网络的带宽,
所以对网络要进行测试和调优。
可以使用: 
$ ping -s 2048 -f hostname 


进行 ping,尝试不同的package size,这样可以看到包的丢失情况。


同时,可以使用
$ nfsstat -o net 
​测试nfs使用udp传输时丢包的多少。



因为统计不能清零,所以要先运行此命令记住该值,然后可以再次运行统计。
如果,经过上面的统计丢包很多。那么可以看看网络传输包的大小。使用下面的命令:
$ tracepath node1/端口号
$ ifconfig eth0


比较网卡的mtu和刚刚的pmtu,使用#ifconfig eth0 mtu 16436设置网卡的mtu和测试的一致。
当然如果risize和wsize比mtu的值大,那么的话,server端的包传到client端就要进行重组,
这是要消耗client端的cpu资源。
此外,包重组可能导致网络的不可信和丢包,任何的丢包都会是的rpc请求重新传输,
rpc请求的重传有会导致超时,严重降低nfs的性能。


可以通过查看:  
/proc/sys/net/ipv4/ipfrag_high_thresh和/proc/sys/net/ipv4 /ipfrag_low_thresh


了解系统可以处理的包的数目,
如果网络包到达了ipfrag_high_thresh,那么系统就会开始丢包,直到包的数目到达ipfrag_low_thresh。


3.nfs挂载的优化
  
  timeo:如果超时,客户端等待的时间,以十分之一秒计算。
  retrans:超时尝试的次数。
 bg:后台挂载,很有用
 hard:如果server端没有响应,那么客户端一直尝试挂载。
 wsize:写块大小
 rsize:读块大小
 intr:可以中断不成功的挂载
 noatime:不更新文件的inode访问时间,可以提高速度。
 async:异步读写。


4.nfsd的个数
缺省的系统在启动时,有8个nfsd进程。
$ps -efl|grep nfsd


通过查看/proc/net/rpc/nfsd文件的th行,
  第一个是nfsd的个数,
  后十个是线程是用的时间数,第二个到第四个值如果很大,那么就需要增加nfsd的个数。


具体如下:
#vi /etc/init.d/nfs
找到RPCNFSDCOUNT,修改该值,一般和client端数目一致。


然后,重启服务。
$ service nfs restart
$ mount -a
  
5.nfsd的队列长度
对于8个nfsd进程,系统的nfsd队列长度是64k大小,如果是多于8个,就要相应的增加相应的队列大小,
具体的在
  /proc/sys/net /core/【rw】mem_default 和
  /proc/sys/net/core/【rw】mem_max。
队列的长度最好是每一个nfsd有8k的大小。这样,server端就可以对client的请求作排队处理。
如果要永久更改此值


$vi /etc/sysctl.conf
加入
  net.core.【rw】mem_max=数目
  net.core.【rw】mem_default=数目
  #service nfs restart


6. 两组不同参数的实测结果  
参数一:
mount -t nfs 192.168.1.220:/mnt/nfs /mnt/nfs_t -o nolock, rsize=1024,wsize=1024,timeo=15 
就能获得较快的传输速度。。。
读速度测试:
$ time dd if=/opt/mnt_nfs_shared/nfs_test.flv of=/dev/null bs=8k 
1024+0 records in
1024+0 records out
8388608 bytes (8.4 MB) copied, 0.00206 seconds, 4.1 GB/s


real    0m0.003s
user    0m0.000s
sys     0m0.003s


写速度测试:
$ time dd if=/dev/zero of=/opt/nfs_test.flv bs=8k count=1024
1024+0 records in
1024+0 records out
8388608 bytes (8.4 MB) copied, 0.010595 seconds, 792 MB/s


real    0m0.014s
user    0m0.001s
sys     0m0.013s




参数二:
server:/opt/nfs_shared /opt/mnt_nfs_shared nfs rsize=8192,wsize=8192,timeo=14,intr
读速度测试:
$ time dd if=/opt/mnt_nfs_shared/nfs_test.flv of=/dev/null bs=8k   
1024+0 records in
1024+0 records out
8388608 bytes (8.4 MB) copied, 0.002931 seconds, 2.9 GB/s


real    0m0.004s
user    0m0.000s
sys     0m0.004s


写速度测试:
$ time dd if=/dev/zero of=/opt/nfs_test.flv bs=8k count=1024
1024+0 records in
1024+0 records out
8388608 bytes (8.4 MB) copied, 0.010859 seconds, 773 MB/s


real    0m0.014s
user    0m0.000s
sys     0m0.014s

​
NOTE:
我这里提供的参数只是在我的机器上测到的;
实际上真正使用时要具体测试才知道;
有时候什么参数都不设置,反而比设置了参数方案和读/写速度更好;
NFS性能管理指南 NFS 性能调优在 NFS 网络中,服务器是调优的主要目标,当然也有一些是可以在客户机上调优的。需要多少 biod 和 nfsd 守护进程?因为 biod 和 nfsd 守护进程一次处理一个请求,并且 NFS 响应时间占了总响应时间的最大一部分,所以如果线程由于缺少 biod 或 nfsd 守护进程而阻塞是让人无法接受的。注:只存在单一的 nfsd 守护进程和单一的 阅读详情

相关推荐

Linux NFS网络服务器性能优化

Linux NFS网络服务器性能优化,可以参考对nfs进行优化

nfs的传输速度优化

如果按mount -o nolock 192.168.1.220(假设为宿主机ip):/mnt/nfs /mnt/nfs_t 来mount ,传输速度可能很慢, 只有几K到几十K左右,所以想要获得较快的速度就要对nfs进行优化。      nfs优化篇      1.设置块大小   mount命令的risize和wsize指定了server端和client端的传输的块大小。如果没有指定,

心中天堂的专栏 3万+

USB2.0基础知识总结

目录 1、协议层: 1.1、域分类 1.2 、USB传输方式: 1、协议层: 域和包定义:包是一次传输的单位,每个包由多个域组成; USB中是按照LSB进行字节传输; 1.1、域分类 1.1.1: 同步域(SYNC field) 所有的包都开始于同步域,在低速和全速通信中SYNC field用7个0和1个1来表示。 由于USB2.0使用了NRZI编码(0用翻转来表示,1用不翻转表示),所以00000001就是上图那样。 ...

qq_32938605的博客 4408

NFS 速度变慢问题排查 性能优化

一、服务器端挂载参数调整: 二、nfs-client 客户端挂载选项调整 (多个选项之间用逗号分开) 1.atime 更新访问时间 这个建议别用,会降低nfs的性能 可以加上noatime 2.auto 能够被自动挂载通过-a选项 3.async 异步挂载 sync同步挂载 sync适用在通信比较频繁且实时性比较高的场合,比如Linux系统的rootfs通过nfs挂载。 三、分析磁盘IO性能是否达上限: 四、测试服务器端 与 客户端 网络速度: 五、dd测试nfs读写速度: 六、nfs日

qq_42152032的博客 1万+

winpcap无法安装提示新版本已经安装解决办法

问题显示如下该问题会导致ensp里的云识别不到网卡可能是因为之前安装了npcap,而且安装时勾选了第四个选项导致无法安装,需要完全卸载npcap解决办法:办法一:在控制面板的程序与卸载里面卸载npcap和winPcap,然后再安装winPcap,如果搜不到往下看办法二:在C:\Windows\SysWOW64目录下搜索wpcap.dll和packet.dll并重命名为wpcap.dll.old和packet.dll.old办法三:如果搜不到这两个文件需要安装win10Pcap才能找到这两个文件下载地址:Wi

qq_73202377的博客 3万+

NVIDIA DGX Spark实战:如何在桌面上轻松运行200B参数大模型?

本文详细介绍了如何利用NVIDIA DGX Spark在桌面端轻松运行200B参数大模型。通过实战演示,从系统初始化、模型获取部署到内存管理与性能调优,重点解析了其统一内存架构如何解决本地推理的显存瓶颈,并探讨了进行轻量化微调(如LoRA)的可能性,为AI开发者和研究团队提供了高效的本地化大模型操作方案。

weixin_29054195的博客 882

nfs服务之传输速度优化

nfs的传输速度优化如果按 $ mount -o nolock 192.168.1.220(假设为宿主机ip):/mnt/nfs /mnt/nfs_t 来mount ,传输速度可能很慢, 只有几K到几十K左右,所以想要获得较快的速度就要对nfs进行优化。 1.设置块大小 mount命令的 risize和wsize指定了server端和client端的传输的块大小。 如果没有指定,那么,系统根...

灬紫荆灬 3963

英飞凌AURIX™ Development Studio(ADS)工程调试与烧录实战指南

本文详细介绍了英飞凌AURIX™ Development Studio(ADS)的工程调试与烧录实战指南。从调试环境搭建、硬件连接到断点设置、变量监控等核心调试技巧,帮助开发者快速掌握ADS安装使用教程,提升多核处理器开发效率。

k8l9m0n的博客 572

mysql使用nfs读写查询慢_NFS使用详解之三.NFS传输速度优化

十、nfs的传输速度优化如果按$ mount -onolock192.168.1.220(假设为宿主机ip):/mnt/nfs/mnt/nfs_t来mount ,传输速度可能很慢,只有几K到几十K左右,所以想要获得较快的速度就要对nfs进行优化。1.设置块大小mount命令的risize和wsize指定了server端和client端的传输的块大小。如果没有指定,那么,系统根据nfs的版本来设置缺...

weixin_29007809的博客 1719

揭秘Synopsys EDA中的AI黑科技:DSO.ai如何改变传统芯片设计流程

本文深入探讨了Synopsys EDA中的AI黑科技DSO.ai如何革新传统芯片设计流程。通过数据驱动的方法论、功耗优化革命和时序收敛智能加速,DSO.ai显著提升了设计效率和质量,实现了从经验驱动到AI驱动的范式转变。文章还提供了实战指南,帮助团队跨越AI EDA的实施鸿沟。

weixin_29296241的博客 525

地平线RDKX3初始配置与USB无线网卡

地平线X3无线网卡配置

Richard_Mei的博客 4076

NFS传输速度优化

如果按mount -o nolock 192.168.1.220(假设为宿主机ip):/mnt/nfs /mnt/nfs_t 来mount ,传输速度可能很慢, 只有几K到几十K左右,所以想要获得较快的速度就要对nfs进行优化。      nfs优化篇      1.设置块大小   mount命令的risize和wsize指定了server端和client端的传输的块大小。如果没有指定,

我心如水 4931

微信DAT图片恢复全攻略:从文件路径到批量解密(附最新工具下载)

本文详细介绍了微信DAT图片恢复的全过程,从文件路径定位到批量解密操作,帮助用户高效恢复加密存储的图片。文章涵盖新旧版本微信的存储结构差异,推荐使用专业解密工具进行批量转换,并提供了提升恢复成功率的实用技巧和常见问题解决方案。

weixin_29325007的博客 455

网卡重启影响nfs吗_NFS性能优化 不完整介绍

https://blog.csdn.net/freedom8531/article/details/43793517~~~~~~~~~~~~~Table of Contents1 NFS概述2 设置NFS读写块大小,优化传输速度3 网络包大小和网卡驱动4 网络包分片导致的溢出5 使用NFS over TCP6 超时和重传值7 守护进程NFSD的个数8 输入队列的内存限制9 关闭网卡和集线器的自动协...

weixin_39731586的博客 282

NXP S32k3 MCAL ADC配置

S32K3 配置MCAL ADC

Leon_0125的博客 5071

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

nfs

nfs

突围 2085

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

amlogic-s9xxx-armbian网络存储优化:Samba与NFS服务性能调优

你是否遇到过Amlogic S9xxx设备作为家庭服务器时,通过网络访问存储文件卡顿、传输速度远低于硬件上限的问题?在嵌入式领域,ARM架构设备(如Amlogic S905X3/S922X)的网络存储性能常受限于默认配置,导致1Gbps网卡实际传输速度仅能达到30-50MB/s。本文将系统讲解如何在amlogic-s9xxx-armbian系统中优化Samba(服务器消息块,SMB)和NFS(网络...

gitblog_00691的博客 521

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

JZ2440 mount主机上的nfs文件系统出现提示:nfs:server is not responding, still trying

在mini2440开发板上挂载主机上的nfs文件系统后传送较大文件时会出现下面的提示: nfs:server is not responding, still trying 问题原因: Mandag 27 november 2006 20:12 skrev Verner Kjærsgaard: Mandag 27 november 2006 19:33 skrev John P. New:

rongchun ji 361

NFS性能优化手册

http://www.lichaozheng.info/2011/10/13/nfs%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/#sec-12 Table of Contents 1 NFS概述2 设置NFS读写块大小,优化传输速度3 网络包大小和网卡驱动4 网络包分片导致的溢出5 使用NFS over TCP6 超时和重传值7 守护进

★ 分享、传播、open source 3205

oracle数据迁移论文,关于跨平台论文范文写作 ORACLE数据库跨平台迁移技术相关论文写作资料...

ORACLE数据库跨平台迁移技术,该文是关于跨平台论文范文,为你的论文写作提供相关论文资料参考。跨平台论文参考文献:摘 要:为了实现不同平台上的ORACLE数据库迁移,可以采用导入导出工具、数据泵、CTAS、GOLDENGATE等方式.针对大规模数据库,可以使用ORACLE的RMAN命令简化迁移步骤,提高迁移速度.关键词:ORACLE数据库;跨平台迁移;RMAN;字节序1 概述针对大规模数据库跨平...

weixin_39665762的博客 213

Ubuntu配置NFS

一.NFS服务器配置 1.sudo apt-get install nfs-kernel-server–安装 1.1 sudo /etc/init.d/nfs-kernel-server status 1.2 sudo service portmap status 为了使nfs服务器正常工作,需要先启动portmap和nfs两个服务,并且portmap一定要先于nfs启动。 停止时,先停止nfs,...

Arithmetic-logic 229

windows 使用挂载盘提供FTP服务

windows 使用挂载盘提供FTP服务 环境说明: NFS服务器:centos7.0 IP:192.168.18.10 FTP服务器:windows server 2008 IP:192.168.18.41 准备工作: 在使用挂载盘作为FTP储存目录之前,需要对NFS服务的访问权限进行调整 登录到NFS服务主机,修改export文件如下: [root@localhost ~]# vim /etc/exports /nfs *(rw,no_root_squash) # 将/nfs目录共享出

1645
上一篇: NFS使用详解之二.服务状态查询及设置
下一篇: nginx快速部署与perl支持
北雨南萍
北雨南萍 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄20年 2665粉丝 453原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北雨南萍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值