`
unsoundboy
  • 浏览: 63402 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

nfs速度优化

阅读更多
1.设置块大小
mount命令的risize和wsize指定了server端和client端的传输的块大小。

mount -t nfs -o rsize=8192,wsize=8192,timeo=14,intr client:/partition /partition

如果未指定,系统根据nfs version来设置缺省的risize和wsize大小。大多数情况是4K对于nfs v2,最大是8K,对于v3,通过server端kernel设置risize和wsize的限制

vi /usr/src/linux2.4.22/include/linux/nfsd/const.h
修改常量: NFSSVC_MAXBLKSIZE

所有的2.4的的client都支持最大32K的传输块。系统缺省的块可能会太大或者太小,这主要取决于你的kernel和你的网卡,太大或者太小都有可能导致nfs速度很慢。
具体的可以使用Bonnie,Bonnie++,iozone等benchmark来测试不同risize和wsize下nfs的速度。当然,也可以使用dd来测试。

#time dd if=/dev/zero of=/testfs/testfile bs=8k count=1024  测试nfs写
#time dd if=/testfs/testfile of=/dev/null bs=8k        测试nfs读

测试时文件的大小至少是系统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/rwmem_default
/proc/sys/net/core/wwmem_default
/proc/sys/net/core/rmmem_max
/proc/sys/net/core/wmmem_max

队列的长度最好是每一个nfsd有8k的大小。这样,server端就可以对client的请求作排队处理。如果要永久更改此值

#vi /etc/sysctl.conf
net.core.rmmem_default=数目
net.core.wmmem_default=数目
net.core.rmmem_max=数目
net.core.wmmem_max=数目
#service nfs restart
分享到:
评论

相关推荐

    Linux NFS网络服务器性能优化

    ### Linux NFS网络服务器性能优化 #### 一、硬件设备的选择 在进行NFS网络服务器性能优化时,首先需要关注的是硬件设备的选择。合理的硬件配置能够为NFS服务器提供坚实的物理基础,有效提升整体性能。 - **CPU**:...

    Linux下NFS详解

    7. **写操作的改进**:NFS V3对写操作进行了优化,提高了I/O写入速度,增强了系统的响应能力。 8. **更强的认证机制**:NFS V3增强了认证机制,提高了安全性,使得数据传输更加安全可靠。 9. **资源预留功能**:...

    haneWIN NFS服务器 汉化版

    6. **性能优化**:NFS协议支持缓存和预读取技术,可以提高数据传输速度。haneWIN NFS服务器可能包含针对Windows环境的优化策略,以提升性能。 7. **故障排查**:汉化版提供的中文日志和错误信息有助于用户更快地...

    NFSserver1.2.43安装包_密钥.zip

    优化NFS设置可以提高数据传输速度和响应时间。 10. **安全考虑**:NFS服务可能存在安全隐患,因此应定期更新NFS软件以获取最新的安全补丁,同时确保只允许信任的客户端访问NFS服务器,限制不必要的网络暴露。 总的...

    nfs-utils-2.3.1.tar.gz

    nfs-utils-2.3.1是该软件包的一个特定版本,包含了针对NFS服务的优化和修复。 安装nfs-utils-2.3.1通常涉及以下步骤: 1. **下载**:从官方网站或其他可靠源获取nfs-utils-2.3.1.tar.gz文件。 2. **解压**:使用...

    NFS.zip_NFS_java nfs_nfs java_nfs-kernel-server

    4. **性能优化**:通过缓存机制和批量操作,NFS可以在一定程度上提高读写速度。 然而,NFS也有一些潜在的问题: 1. **安全性**:默认情况下,NFS的安全性较弱,需要通过防火墙限制访问,并结合其他安全措施(如ACLs...

    CentOS搭建NFS服务器步骤_20200221_完成版.docx

    为了提高NFS服务器的性能,可以使用磁盘RAID,如RAID10等,可以加快磁盘读写速度,同时保证数据安全。尽量避免使用有写损失的磁盘阵列如RAID5、RAID6。 知识点8:NFS服务器的安全 在NFS服务器上,需要注意安全问题...

    nfs-mount命令参数

    适当调整该值可以在提高响应速度与确保连接稳定性之间找到平衡。 #### 实际应用示例 假设我们需要挂载一个名为`example.com`的NFS服务器上的共享路径`/data`到本地计算机的`Z:`驱动器,并且希望以只读方式挂载,...

    Java使用NFS实现上传、下载、读取文件工具类

    高性能:通过合理利用多线程、缓冲区优化、流式处理等手段,有效提升了文件上传下载的速度和整体系统的性能。 健壮性:在异常处理方面,工具类充分考虑了网络不稳定、文件不存在、权限不足等各种可能的问题场景,...

    Linux的NFS的详细中文说明

    - 通过优化网络代码,提高了NFS的性能表现。 #### 五、总结 NFS是Linux环境中非常重要的一个组件,它不仅提供了高效的文件共享机制,还极大地简化了网络环境下的文件管理任务。通过对NFS的工作原理、配置方法以及...

    haneWIN NFS Server.rar

    3. **性能优化**:可能包括对大型文件传输的优化,以及通过缓存技术提高读写速度。 4. **兼容性**:不仅支持标准NFS协议,也可能支持其不同版本,以适应各种客户端环境。 5. **日志和监控**:提供日志记录功能,帮助...

    nfs1243.rar

    1. **高速传输**:优化了数据传输速度,尤其适合大文件和大量文件的传输。 2. **跨平台兼容**:NFS协议本身是跨平台的,这意味着这个工具可能支持Windows、Linux、Unix等不同操作系统间的文件共享。 3. **易用性**:...

    多节点gluster_NFS安装配置性能对比

    GlusterFS由于其分布式特性,在处理大量小文件时可能表现更优,而NFS则在大文件传输和简单文件操作上可能有更快的速度。扩展性方面,GlusterFS可以通过添加更多节点轻松扩展存储容量,而NFS的扩展性受限于单个服务器...

    集群环境NFS文件系统

    1. **优化缓存策略**:加强客户端和服务器端的缓存管理,尤其是客户端缓存,可以有效提高NFS的响应速度和带宽。 2. **提升网络与存储资源**:增加网络带宽和优化存储系统性能是提升NFS整体性能的关键。 3. **合理...

    Ubuntu下nfs服务器的搭建

    ### Ubuntu下NFS服务器的搭建知识点详解 ...- **性能优化**: 了解 NFS 性能瓶颈,并采取相应的优化措施。 通过以上详细步骤,您可以在 Ubuntu 下成功搭建并使用 NFS 服务器,实现高效的数据共享与传输。

    Omni-NFS_v6.02_注册号

    4. **稳定性与性能**:v6.02版本可能针对前一版本进行了优化,以提高服务的稳定性和性能。这可能包括更快的文件传输速度、更少的资源占用、更好的错误处理机制等。 5. **文件管理**:Omni NFS Server允许管理员设置...

    高性能RPC框架 nfs-rpc.7z

    nfs-rpc可能使用了这样的协议设计,以降低带宽使用和提高传输速度。 7. **服务发现**:nfs-rpc可能支持动态的服务注册与发现,使得客户端能够自动找到并连接到正确的服务实例,这通常依赖于Zookeeper、Consul或Etcd...

    基于FPGA的嵌入式NFS服务器的设计与实现.pdf

    首先,文章指出,FPGA(现场可编程门阵列)在嵌入式系统中的应用越来越广泛,它提供了硬件加速功能,能显著提高数据处理的效率。在这个项目中,FPGA被用来实现NFS服务器的各个组件,包括NFS服务组件、文件系统和硬盘...

    第三套:网络文件系统NFS企业级高可用实战(视频).txt

    #### 性能优化 - **合理选择硬件**:选用高速硬盘(如SSD)和高性能网络设备提升I/O性能。 - **参数调优**:根据实际应用场景调整NFS客户端和服务端的各项参数。 - **缓存策略**:启用客户端缓存机制减少网络延迟,...

Global site tag (gtag.js) - Google Analytics