我们目前使用 EC2 和 16 个 EBS 卷(RAID10 配置)来存储我们的 MySQL 数据。我知道有些人不建议将 EBS 卷放入 RAID,但这不是我目前关心的问题。当前格式是 ext3,但我们正在尝试迁移到 xfs,因为许多报告称它速度更快。但是,当分区转换为 xfs 时,我们实际上遇到了性能下降 - 使用 xfs 进行插入、更新、选择和删除的基准测试比使用 xfs 慢了 10 多秒。
知道可能是什么问题吗?下面是 fstab 条目(实际上只是将 ext3 更改为 xfs)。数据库表是 innodb,我们正在使用 innodb_file_per_table。
/dev/mapper/vg_data-lv_data /data xfs noatime 0 0
谢谢。
答案1
XFS 文件系统始终需要调整。运行默认的 mkfs 和 mount 将导致性能一般。您需要在创建文件系统时设置分配组号。禁用写入屏障可能有意义。还要密切关注您正在使用的特定内核系列上的文件系统使用情况和挂载选项。一些有趣的默认值是最近移植。
还要检查 I/O 升降机设置。请查看以下一些建议:CentOS 6 比 CentOS 5 执行更多的 IO
答案2
西弗斯曾是直到 2.6.39 版,元数据操作都很慢,我记得。传统上,对于这个网站,您不会提到服务器内核的版本。所以我们现在只能猜测。
答案3
一位在 Percona (www.percona.com) 工作的熟人建议使用 nobarrier 安装选项。它大大加快了速度。
答案4
看一下 Pinterest 人员提供的幻灯片:https://www.percona.com/live/mysql-conference-2015/sites/default/files/slides/all_your_iops_are_belong_to_usPLMCE2015.pdf
举几个例子:
内核 3.13 + EXT4
4K RAID 块,EXT4,内核 3.13 写入吞吐量 87MB/秒 第 99 百分位延迟:124 毫秒
64K RAID 块,EXT4,内核 3.13 写入吞吐量 88MB/秒 第 99 百分位延迟:122 毫秒
内核 3.18 + XFS
4K RAID 块,XFS,内核 3.18 写入吞吐量 550MB/秒 第 99 百分位延迟:3.7 毫秒
64K RAID 块,XFS,内核 3.18 写入吞吐量 650MB/秒 第 99 百分位延迟:6.2ms