小编Kam*_*mil的帖子

使用 ZFS 记录大小 16k 而不是 128k 的缺点

我在专用服务器上使用 Proxmox。对于生产,我仍在使用 ext4,但我决定开始使用 ZFS。

因此,我创建了两个具有不同记录大小的独立 ZFS 存储池:

  • 除 MySQL/InnoDB 之外的所有内容均为 128k
  • MySQL/InnoDB 为 16k(因为 16k 是我使用的默认 InnoDB 页面大小)

我添加了 16k 池来检查它是否真的对 MySQL/InnoDB 数据库性能产生影响。确实如此。我每秒的事务量增加了大约 40%,延迟降低了 25%(我已经使用sysbenchtpcc对此进行了彻底测试)。

出于实际原因,目前我更愿意使用一个具有 16k 记录大小的大池,而不是两个单独的部分(16k 和 128k)。我知道,我可以在单个 ZFS 池上创建子卷并为它们提供不同的记录大小,但这也是我想避免的。我更喜欢通过 Proxmox GUI 进行管理。


我的问题:

  1. 如果我开始对所有内容使用较小的 (16k) 记录大小而不是 128k(Proxmox 上的默认值),我会遇到哪些缺点?

  2. QEMU 磁盘映像是否具有与 innodb_page_size 等效的值?如果是的话 - 它的尺寸是多少?

    我尝试用以下方法检查qemu-img info

     $ qemu-img info vm-100-disk-0.raw
     image: vm-100-disk-0.raw
     file format: raw
     virtual size: 4 GiB (4294967296 bytes)
     disk size: 672 MiB
    
    Run Code Online (Sandbox Code Playgroud)

服务器使用情况是:

  • www/php 的容器(大量小文件,但在容器磁盘文件内)
  • java/spring应用程序的容器(它们产生大量日志)
  • mysql/innodb …

zfs performance-tuning qemu

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

标签 统计

performance-tuning ×1

qemu ×1

zfs ×1