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-240049

NikoNyrh's questions

Martin Hope
NikoNyrh
Asked: 2021-01-16 06:03:52 +0800 CST

两个 HDD 上的 ZFS 慢速擦除

  • 2

该池由配置中的两个 HDD(WD Red 3 TB,5200 RPM?,最大传输速率 147 MB​​/s 和 Verbatim (Toshiba) 3 TB,7200 RPM)组成raidz1-0。它有 2.25 TB 的数据,复制到两个磁盘,因此总量为 4.5 TB。创建池时,我没有指定ashift值。

zpool status显示“扫描:在 2021 年 1 月 3 日星期日 13:58:54 的 32h43m 中以 0 个错误修复了 0”。这意味着扫描速度只有4.5e6 / (32.717 * 60 * 60) = 38.2 MB / s. 我预计至少 2 x 100 或高达 2 x 200 MB/s,尽管 WD 磁盘比另一个磁盘慢一些。

磁盘的 SMART 数据显示一切正常。它们有 6.5 - 7 年的通电时间,但启停次数仅为 200 次左右。

所以主要问题是:什么可以解释糟糕的读取性能?

奇怪zdb的是,池使用路径/dev/disk/by-id/ata-WDC_WD30EFRX-xyz-part1而不是/dev/disk/by-id/ata-WDC_WD30EFRX-xyz. fdisk -l /dev/disk/by-id/ata-WDC_WD30EFRX-xyz提到“分区 1 不是从物理扇区边界开始”,但我读到它只会损害写入性能。我可能会尝试通过删除设备并使用正确的全磁盘路径将其添加回来来解决此问题,因为数据是重复的(并已备份)。

该池有 710 万个文件。我sha1sum在通过 清除缓存后测试了在 14276 MB 文件上运行/proc/sys/vm/drop_caches,花了 2 分 41 秒将读取速度设置为 88.5 MB/s。

dd bs=1M count=4096 if=/dev/disk/by-id/ata-WDC_WD30EFRX-xyz of=/dev/null报告了 144 MB/s 的速度,使用它ata-WDC_WD30EFRX-xyz-part1报告了 134 MB/s 和ata-TOSHIBA_DT01ACA300_xyz报告了 195 MB/s。

我的 NAS 运行相当旧的软件版本:

$ modinfo zfs
filename:       /lib/modules/3.11.0-26-generic/updates/dkms/zfs.ko
version:        0.6.5.4-1~precise
license:        CDDL
author:         OpenZFS on Linux
description:    ZFS
srcversion:     5FC0B558D497732F17F4202
depends:        spl,znvpair,zcommon,zunicode,zavl
vermagic:       3.11.0-26-generic SMP mod_unload modversions 

它有 24 GB 的 RAM,其中 8 GB 是为 JVM 保留的,其余的可以免费使用。虽然似乎没有多少是免费的:

$ free -m
             total       used       free     shared    buffers     cached
Mem:         23799      21817       1982          0        273       1159
-/+ buffers/cache:      20384       3415
Swap:         7874         57       7817

编辑 1:

我bonnie++使用 RAIDZ 上的单个 4 GB 文件进行了一些测试:写入 75.9 MB/s、重写 42.2 MB/s 和读取 199.0 MB/s。我假设我从“千字符/秒”正确地进行了转换。

啊,刚才我意识到并行擦洗所需的时间与最慢的 5400 RPM 磁盘一样长,7200 RMP(可能)擦洗得更快并不重要。

编辑 2:

我将池中的文件数量从 710 万个减少到 450 万个(-36.6%),清理时间从 32.72 小时减少到 16.40 小时(-49.9%)。数据量是相同的,因为我只是将这些小文件放入低压缩的 ZIP 中。

我还将recordsize从 128k 增加到 512k,不知道这在这种情况下是否有所不同。其他预先存在的数据没有被触及,因此它们保留了原始recordsize. 哦,/sys/module/zfs/parameters/zfs_scan_idle被设置为2。

zfs zfsonlinux
  • 1 个回答
  • 532 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