目前我们有许多 Amazon AWS c3.large 设置,我正在尝试找出瓶颈。在高峰期,大多数设置上的负载都非常高。
看起来磁盘利用率很高,因为 iostat 相对于 %util(最后一列)大部分时间都为 100:
iostat -x 1 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util xvdap1 0.00
0.00 0.00 68.00 0.00 16712.00 245.76 137.40 1924.29 14.71 100.00
avg-cpu: %user %nice %system %iowait %steal %idle
0.51 0.00 6.06 93.43 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util xvdap1 0.00
0.00 0.00 69.00 0.00 16560.00 240.00 136.34 1895.94 14.49 100.00
想法可能是 64 GB 通用 SSD 使用的 IOPS 可能不够(192 IOPS)。
虽然观察 tps (IOPS) 似乎平均约为 70-80。所以这似乎足够了。但我确实注意到偶尔会出现远高于此的突发高峰。我相信这也不成问题,因为突发高峰高达 3000。
sar -b 1
Linux 3.14.35-28.38.amzn1.x86_64 (ip-10-167-69-88) 03/04/2016 _x86_64_ (2 CPU)
09:08:35 PM tps rtps wtps bread/s bwrtn/s
09:08:36 PM 78.12 1.04 77.08 8.33 16700.00
09:08:37 PM 73.74 0.00 73.74 0.00 16880.81
09:08:38 PM 76.77 1.01 75.76 8.08 16452.53
09:08:39 PM 68.69 0.00 68.69 0.00 16678.79
09:08:40 PM 72.92 0.00 72.92 0.00 17250.00
09:08:41 PM 72.04 0.00 72.04 0.00 17677.42
09:08:42 PM 144.68 0.00 144.68 0.00 9480.85
09:08:43 PM 141.05 0.00 141.05 0.00 9574.74
09:08:44 PM 97.98 0.00 97.98 0.00 13664.65
09:08:45 PM 185.26 0.00 185.26 0.00 4244.21
09:08:46 PM 96.91 0.00 96.91 0.00 14564.95
09:08:47 PM 68.32 0.00 68.32 0.00 16324.75
09:08:48 PM 66.67 0.00 66.67 0.00 16703.03
您认为问题在于分配的 IOPS 数量还是我应该考虑其他问题?
答案1
你的 IO 子系统(又名磁盘)就是问题所在。你的系统正在消耗巨大的等待 IO 请求完成的时间。每当我的系统达到 ~5% iowait 时,我就会开始考虑升级。不用说,你远远超出了这个范围。
您需要增加系统可用的 IOPS 数量。如果您尚未使用 PIOPS(预配置 IOPS)EBS 卷,则第一个选择是迁移到该卷。完成此操作后,增加 IOPS 设置,直到获得所需的性能。