【发布时间】:2013-10-15 10:33:21
【问题描述】:
我需要提高数据库的 I/O 性能。我正在使用下面描述的“2xlarge”硬件并考虑升级到“4xlarge”硬件(http://aws.amazon.com/ec2/instance-types/)。感谢您的帮助!
详情:
CPU 使用率很好(通常低于 30%),正常运行时间负载平均在 0.5 到 2.0 之间(但我相信我应该将其除以 CPU 的数量),所以看起来也不错。但是,I/O 很糟糕:iostat 显示有利的服务时间,但是在队列中花费的时间(我想这意味着等待访问磁盘)太长了。我已将 MySQL 配置为每 1 秒刷新一次磁盘,而不是每次写入,这有帮助,但还不够。分析显示有少数表是大部分负载(读取和写入操作)的罪魁祸首。查询已编入索引和优化,但未分区。 MySQL 的平均状态是:发送数据 @ 45%,统计 @ 20%,更新 @ 15%,排序结果 @ 8%。
问题:
- 升级硬件可以获得多少性能?
- 同样的问题,但如果我对高负载表进行分区?
机器:
-
m2.2xlarge
- 64 位
- 4 个 vCPU
- 13 ECU
- 34.2 Gb 内存
- EBS 优化
- 网络性能:“中等”
-
m2.4xlarge
- 64 位
- 6 个 vCPU
- 26 ECU
- 68.4 Gb 内存
- EBS 优化
- 网络性能:“高”
【问题讨论】:
-
对于后代,配置会在关键的地方发生变化。我还为 EBS 卷在 AWS 预置 IOPS 上花费了额外的钱,这也是关键。后来我按日期划分了几个大表。
标签: mysql performance io amazon-ec2 hardware