相关疑难解决方法(0)

NFS 写性能差

我有两台连接 10Gbit 以太网的机器。让其中一个是 NFS 服务器,另一个是 NFs 客户端。

通过 TCP 测试网络速度,iperf显示双向约 9.8 Gbit/s 的吞吐量,因此网络正常。

测试 NFS 服务器的磁盘性能:

dd if=/dev/zero of=/mnt/test/rnd2 count=1000000
Run Code Online (Sandbox Code Playgroud)

结果是 ~150 MBytes/s,因此磁盘可以正常写入。

服务器/etc/exports是:

/mnt/test 192.168.1.0/24(rw,no_root_squash,insecure,sync,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)

客户端/mnt/test使用以下选项将此共享安装到本地:

node02:~ # mount | grep nfs
192.168.1.101:/mnt/test on /mnt/test type nfs4 (rw,relatime,sync,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.102,local_lock=none,addr=192.168.1.101)
Run Code Online (Sandbox Code Playgroud)

如果我尝试从 NFS 共享在客户端计算机上下载一个大文件 (~5Gb),我会获得~130-140 MBytes/s 的性能,接近服务器的本地磁盘性能,所以它是令人满意的。

但是,当我尝试将大文件上传到 NFS 共享时,上传开始时约为 1.5 Mbytes/s,缓慢增加到 18-20 Mbytes/s 并停止增加。有时,在实际开始上传之前共享“挂起”几分钟,即主机之间的流量接近于零,如果我执行ls /mnt/test,它在一两分钟内不会返回。然后ls命令返回并以最初的 1.5Mbit/s 速度开始上传。

当上传速度达到最大值(18-20 Mbytes/s)时,我运行iptraf-ng并在网络接口上显示约 190 Mbit/s 的流量,因此网络不是这里的瓶颈,以及服务器的 HDD。

我试过的:

1. 在仅与 100Mbit 以太网 NIC …

performance nfs centos

23
推荐指数
2
解决办法
3万
查看次数

将通用 Web 应用程序代码共享到多个 Web 服务器

将通用 Web 应用程序代码共享到多个 Web 服务器的最佳方式是什么?

例如,我有一个包含用 PHP 编写的 Web 应用程序的目录。现在,我有多台机器可以提供相同的内容,每台机器都运行一个网络服务器,使用 TCP/IP 平衡器进行负载平衡。

对于这种情况,我还没有尝试过 NFS。但是根据Slow NFS transfer performance of small files,传输性能会很慢,因为涉及到很多[小]文件。

编辑:我想将所有文件集中存储在一个位置,因此网络服务器将立即读取代码更新。

php web-server load-balancing

1
推荐指数
1
解决办法
1041
查看次数

标签 统计

centos ×1

load-balancing ×1

nfs ×1

performance ×1

php ×1

web-server ×1