首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >局域网上有针对性的网络速度

局域网上有针对性的网络速度
EN

Unix & Linux用户
提问于 2012-12-27 03:34:01
回答 4查看 1K关注 0票数 0

我有一个Solaris 11系统,它有几个NFS导出,可以在我的局域网内访问我的其他系统。我使用Linux系统作为客户端进行测试。

我编写了一个测试读取速度的快速脚本,在千兆局域网上,我的平均速率约为110 13MB(或13 on /S)。我会认为它会变得更快。SSH (scp)只给我3.8MB/s,但那是加密的。

http给我1150万/S,类似于NFS。这么低不是吗?

这些数字的瓶颈是什么?

EN

回答 4

Unix & Linux用户

回答已采纳

发布于 2012-12-27 23:06:05

NFS实际上不能最大限度地提高吞吐量,因为客户端一直在向服务器发送这么多数据(这些数据限制在几千字节以内),并在请求更多信息之前等待完整的答案,这意味着所有队列都是空的。网络上的所有FS (CIFS,SSHFS)都有相同的问题(以及IIRC,或者可能只是sftp,我不记得了)

除了加密开销之外,ssh还具有更多的性能限制(详见这里 )。

除非您使用执行块请求的客户端,否则HTTP应该是直TCP,因此不应该有这种限制。TCP在避免拥塞的同时,应该使用其拥塞控制算法来最大限度地提高吞吐量。虽然最初的几千字节可能被缓慢传输,但是如果两台机器是通过同一个交换机连接的,那么您应该能够在10秒钟内最大限度地利用带宽。可能会有一些不良的网络质量(如奇怪的数据包丢失)。

你可能想尝试的事情:

  • 通过简单的TCP连接传输/dev/zero的内容(例如,使用socatnc ),以排除瓶颈是FS访问。
  • 检查您的网络接口统计信息以了解传输错误和TCP堆栈统计信息(netstat -s)。
  • 使用iperf ( TCP和UDP)进行测试。
票数 1
EN

Unix & Linux用户

发布于 2012-12-27 07:54:28

我过去也有过类似的情况,我解决的方法是强迫Solaris和Linux安装NFS v3而不是v4。

在Solaris端,您可以编辑/etc/default/nfs,并将服务器端的变量设置为server,并且只接受NFS v3端。

无法记住变量名,但它是不言自明的。

您所做的测试是复制一个大文件还是多个文件?如果它是几个文件,我不会感到惊讶,但如果它是一个文件,而不是是。

另外,您有什么样的底层存储?单盘?突袭装置?这也会影响您的性能。

票数 1
EN

Unix & Linux用户

发布于 2013-01-09 13:17:53

底层文件系统提供数据的速度有多快?NFS本身可以比您看到的更快地移动数据,这表明还有其他瓶颈。您可以通过使用iperf来确认网络可以流更高的带宽来说服自己。

我将登录到solaris系统,并从导出到/dev/null的文件系统中复制一个文件,以查看您可以以多快的速度将其流到/dev/null。请注意,您需要做出一些努力,以避免对已经在文件系统缓存中的文件进行读取测试。对于其他文件系统,您可以通过umount/挂载来使缓存失效,但仅这一点对ZFS来说是不够的。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/59524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档