暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[ACDU翻译] MySQL 8.12.1 优化磁盘I/O

原创 由迪 2021-06-30
423

[本节介绍了当您可以将更多更快的存储硬件用于数据库服务器时配置存储设备的方法。有关优化 InnoDB配置以提高 I/O 性能的信息,请参阅第 8.5.8 节,“优化 InnoDB 磁盘 I/O”

  • 磁盘寻道是一个巨大的性能瓶颈。当数据量开始增长到无法进行有效缓存时,这个问题变得更加明显。对于您或多或少随机访问数据的大型数据库,您可以确定至少需要一个磁盘寻道来读取和几个磁盘寻道来写入内容。要尽量减少此问题,请使用寻道时间较短的磁盘。

  • 通过将文件符号链接到不同磁盘或对磁盘进行条带化来增加可用磁盘轴的数量(从而减少搜索开销):

    • 使用符号链接

      这意味着,对于MyISAM表,您将索引文件和数据文件从它们在数据目录中的通常位置符号链接到另一个磁盘(也可能是条带化的)。这使得搜索和读取时间都更好,假设磁盘也没有用于其他目的。请参阅 第 8.12.2 节,“使用符号链接”

      不支持将符号链接用于 InnoDB表。但是,可以将InnoDB数据和日志文件放在不同的物理磁盘上。有关更多信息,请参阅第 8.5.8 节,“优化 InnoDB 磁盘 I/O”

    • 条带

      条带化意味着您有许多磁盘,并将第一个块放在第一个磁盘上,将第二个块放在第二个磁盘上,将*N*第 -th 个块放在 ( ) 磁盘上,依此类推。这意味着如果您的正常数据大小小于条带大小(或完全对齐),您将获得更好的性能。条带化非常依赖于操作系统和条带大小,因此请使用不同的条带大小对您的应用程序进行基准测试。请参阅第 8.13.2 节,“使用您自己的基准”*N* MOD *number_of_disks*

      条带化的速度差异 非常依赖于参数。根据您设置条带化参数和磁盘数量的方式,您可能会得到数量级的差异。您必须选择针对随机或顺序访问进行优化。

  • 为了可靠性,您可能希望使用 RAID 0+1(条带化加镜像),但在这种情况下,您需要 2 个 *N*驱动器来保存 *N*数据驱动器。如果你有钱,这可能是最好的选择。但是,您可能还需要投资一些音量管理软件才能有效地处理它。

  • 一个不错的选择是根据数据类型的关键程度来改变 RAID 级别。例如,可以在 RAID 0 磁盘上存储可以重新生成的半重要数据,但将主机信息和日志等真正重要的数据存储在 RAID 0+1 或 RAID *N磁盘上。N*由于更新奇偶校验位需要时间,如果您有很多写入,RAID 可能会成为问题。

  • 您还可以为数据库使用的文件系统设置参数:

    如果您不需要知道上次访问文件的时间(这在数据库服务器上不是很有用),您可以使用该-o noatime 选项挂载您的文件系统。这会跳过对文件系统上 inode 中最后访问时间的更新,从而避免了一些磁盘搜索。

    在许多操作系统上,您可以通过使用-o async选项挂载文件系统来将其设置为异步更新。如果您的计算机相当稳定,这应该可以为您提供更好的性能而不会牺牲太多的可靠性。(这个标志在 Linux 上默认是打开的。)

在 MySQL 中使用 NFS

在考虑是否将 NFS 与 MySQL 一起使用时,您应该谨慎。潜在问题因操作系统和 NFS 版本而异,包括以下内容:

  • 放置在 NFS 卷上的 MySQL 数据和日志文件被锁定且无法使用。例如,在多个 MySQL 实例访问同一数据目录或 MySQL 因断电而异常关闭的情况下,可能会出现锁定问题。NFS 版本 4 通过引入咨询和基于租用的锁定解决了底层锁定问题。但是,不建议在 MySQL 实例之间共享数据目录。
  • 由于收到的消息无序或网络流量丢失而导致数据不一致。为避免此问题,请使用 TCP withhardintrmount 选项。
  • 最大文件大小限制。NFS 版本 2 客户端只能访问文件的最低 2GB(有符号的 32 位偏移)。NFS 版本 3 客户端支持更大的文件(最多 64 位偏移)。支持的最大文件大小还取决于 NFS 服务器的本地文件系统。

在专业 SAN 环境或其他存储系统中使用 NFS 往往比在此类环境之外使用 NFS 提供更高的可靠性。但是,SAN 环境中的 NFS 可能比直接连接或总线连接的非旋转存储慢。

如果您选择使用 NFS,建议使用 NFS 版本 4 或更高版本,因为在部署到生产环境之前彻底测试您的 NFS 设置。

最后修改时间:2021-06-30 14:41:22
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论