我需要提高数据库的 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 个虚拟 CPU
- 13 电子控制单元
- 34.2 Gb 内存
- EBS 优化
- 网络性能:“中等”
m2.4xlarge
- 64 位
- 6 个虚拟 CPU
- 26个ECU
- 68.4 Gb 内存
- EBS 优化
- 网络性能:“高”