AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-327986

LincolnP's questions

Martin Hope
LincolnP
Asked: 2019-04-09 07:43:56 +0800 CST

NFS - 小文件的性能非常慢(CIFS 也是如此)

  • 3

我在两台 debian 拉伸机之间的 NFS 性能非常差,我找不到解决方案。我在导出文件的服务器端使用 rsync,在客户端使用 tcp,hard,intr,rsize=32768,wsize=32768 作为挂载时的选项。两台服务器都是在 Hyper V 下运行并共享同一内部网络交换机的 VM。

使用大文件时性能是可以接受的,但使用 rsync 时性能非常低。复制 tar 文件(大小 2 GB)需要几秒钟,而在同一目标文件夹中提取相同的 tar 文件需要几分钟。tar 没有任何特殊选项,只是 tar xvf 。

编辑

我正在使用 4 TB 西部数据 WD40EFRX SATA 驱动器。这 4 个驱动器作为物理磁盘直接分配给 Hyper-V VM。这 4 张光盘在 Debian Stretch NFS 服务器中被制成 RAID 5 ext4 文件系统。我使用的测试文件是 40.000 个不同大小的文件,总共增加了 2 GB。(主要是小型文件、图像和文本以及一些 jar 文件)。

两台服务器共享同一个 Hyper-V 外部虚拟交换机,连接到英特尔 I211 千兆网络适配器

从 NFS 客户端到 NFS 服务器的 Ping 示例:

PING xyzserver (192.168.1.49) 56(84) 字节数据。来自 xyzserver (192.168.1.49) 的 64 个字节:icmp_seq=1 ttl=64 时间=41.2 ms
来自 xyzserver (192.168.1.49) 的 64 个字节:icmp_seq=2 ttl=64 时间=5.48 ms
来自 xyzserver (192.168.1.49) 的 64 个字节: icmp_seq=3 ttl=64 time=29.7 ms
来自 xyzserver (192.168.1.49) 的 64 个字节:icmp_seq=4 ttl=64 time=64.2 ms
来自 xyzserver (192.168.1.49) 的 64 个字节:icmp_seq=5 ttl=64 time=43.0 ms
来自 xyzserver (192.168.1.49) 的 64 个字节:icmp_seq=6 ttl=64 time=11.5 ms
来自 xyzserver (192.168.1.49) 的 64 个字节:icmp_seq=7 ttl=64 time=29.4 ms

编辑2

我相信这与 Debian 9 无关。即使是 Debian。也不仅仅是 NFS。我们还使用 Windows 机器和 CIFS 进行了测试,性能非常相似。

使用大文件时的性能很好(特别是使用 NFS),但对于小文件(源代码等),它可能会变得非常慢(甚至低于 1 MB/s)。

关于我做错了什么的任何想法?(老问题)

我们正在考虑不使用 NFS 或 CIFS。

知道我们可以做些什么来获得体面的表现吗?(新问题)

拥有一个快速的 RAID5 磁盘子系统和一个快速的服务器并在同一台服务器上拥有两个虚拟机似乎很荒谬,我们无法找到一种方法来以相当快的速度在共享文件系统中 rsync 文件或 untar 文件。

关于我可以使用什么的任何建议?(硬件软件)

nfs
  • 1 个回答
  • 3126 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve