8.12.2 优化磁盘 I/O

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

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

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

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

剥离速度差异非常取决于参数。根据设置条带化参数和磁盘数量的方式,可能会获得数量级上的差异。您必须选择针对随机或 Sequences 访问进行优化。

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

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

将 NFS 与 MySQL 配合使用

在考虑是否将 NFS 与 MySQL 一起使用时,您应该谨慎。根据 os 和 NFS 版本的不同,潜在的问题包括:

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

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

首页