首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Debian 10上的NFSv3在openzfs/Linux上慢读

通过Debian 10上的NFSv3在openzfs/Linux上慢读
EN

Server Fault用户
提问于 2020-05-21 16:40:20
回答 2查看 1.9K关注 0票数 1

由于我没有回答的问题:qemu快照排除装置,我决定对VM使用NFSv3来处理用户数据。由于维护后的BTRFS性能缓慢,我现在使用的是zfs Raid1版本:Buster-backport0.8.3-1在Debian主机上。

当我在主机上复制数据时,没有性能问题。

但是: NFS的性能太慢了,一开始写和读都是10和40 MB/s。经过一些调整(我认为是NFS带异步的),我写到了80 MB/s。这对我来说就足够了。每个设备的读取保持在20 MB/s。

有什么好测试的吗?我是zfs和NFS的新手。

主持人: Debian 10

VM: Debian 10

NFS:主机: /exports/ordner 192.168.4.0/24(rw,no_subtree_check)

客户端:.....nfs local_lock=all,vers=3,rw,user,intr,retry=1,async,nodev,auto,nosuid,noexec,retrans=1,noatime,nodiratime

ZFS数据集:

一卷,附:

....create -o ashift=12 zfs-池....mirror

sync=default

代码语言:javascript
复制
zfs set compression=off zfs-pool
zfs set xattr=sa zfs-pool
zfs set dnodesize=auto zfs-pool/vol
zfs set recordsize=1M zfs-pool/vol
zfs set atime=off zfs-pool/vol

zfs-mod-tune:

代码语言:javascript
复制
options zfs zfs_prefetch_disable=1
options zfs_vdev_async_read_max_active=1
options zfs_vdev_sync_read_max_active=128 (also 1 tested)
options zfs_vdev_sync_read_min_active=1

你能给我个建议吗?

EN

回答 2

Server Fault用户

发布于 2020-05-21 23:04:27

如果禁用同步请求:zfs set sync=disabled tank/nfs_share,则可以获得更好的性能。

  • zfs手册:disabled禁用同步请求。文件系统事务只定期提交到稳定存储。此选项将提供最高的性能。但是,这是非常危险的,因为ZFS将忽略数据库或NFS等应用程序的同步事务需求。管理员只应在了解风险时才使用此选项。

请记住,禁用sync可能导致数据损坏。

另一种选择是:

  • 在非常快速和独立的设备中使用SLOG 1,比如SSD磁盘(NVMe是理想的,SATA是可以接受的)。

在您的测试中,我注意到异步操作的最大活动线程数被设置为1,这太低了,因此可能导致糟糕的读取性能。

我需要有关您的系统的一些详细信息( ZFS池的磁盘信息、系统内存和CPU)。

这里有一个建议,您可以使用和调整您的系统。它适用于我的12核系统(在/etc/modprobe.d/zfs.conf):

代码语言:javascript
复制
options zfs zfs_vdev_async_read_max_active=30
options zfs zfs_vdev_async_read_min_active=10
options zfs zfs_vdev_async_write_min_active=30
options zfs zfs_vdev_async_write_max_active=10
options zfs zfs_vdev_scrub_min_active=10
options zfs zfs_vdev_scrub_max_active=20

1

票数 0
EN

Server Fault用户

发布于 2020-06-01 20:38:34

一些更新:

  • 我用dataset进行了一些测试,比如ext4或xfs ->相同的结果。
  • 我使用的不是卷,而是直接作为nfs共享的zpool ->相同的结果。
  • 我测试ganesha作为nfs服务->写boost到30 MB/s,但是退却后它仍然存在,所以我认为这不是真正的原因。
  • 我将我的配置从通过路由器的网络流量改为只在内存中进行通信并使用iperf 进行测试的结构->令我惊讶的是,带宽没有超过60 MB/s用于读写,尽管上一次 --> wtf --多么糟糕--只是在内存中没有了更多--我不明白为什么这是非常慢的 --我不相信这是实际debian /qemu系统 的典型性能,也许有人有答案。
  • 交互:我不能用比较箱来影响udp的性能,因为我只得到了1 MBit/s - nfs与udp是功能性的,但对于大数据并不是无错误的。

状态:写30 me /S和读50 me/S的速度对我来说已经足够了,但令人失望。

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

https://serverfault.com/questions/1018124

复制
相关文章

相似问题

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