2

我有以下问题。我在亚马逊的 Ubuntu 9.10 x86 上运行 MySQL 服务器 5.1.37。对于数据存储,我使用格式化为 ext3 的 EBS 卷。

有时会出现以下问题。MySQL 开始处理查询 10~20 个查询,这些查询的处理时间超过 300 秒(这些 SQL 正在使用文件排序)。在此期间,无法执行其他交易。

我检查了 CPU 等待,这里显示了什么:

----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| 阅读令状| 接收发送| 进出| 诠释 csw
24 9 66 0 0 0| 0 76k| 258k 989k| 0 0 |5970 3014
 23 1 75 0 0 1|4096B 28k| 229k 1536k| 0 0 |3249 2308
 19 6 74 0 0 0|4096B 316k| 209k 609k| 0 0 |4943 2542
 19 17 62 0 0 2|4096B 36k| 230k 718k| 0 0 |5482 2520
 21 19 57 2 0 2| 16k 800k| 271k 860k| 0 0 |6549 2923
 23 27 44 5 0 1| 480k 40k| 288k 979k| 0 0 |4140 2682
 12 0 86 1 0 0| 256k 48k| 237k 771k| 0 0 |3404 2627
 22 1 75 0 0 1|8192B 60k| 285k 908k| 0 0 |4009 2786
 54 21 19 3 0 2|4096B 3384k| 287k 1556k| 0 0 |3962 2284
 49 24 24 1 0 2|4096B 928k| 285k 2795k| 0 0 |3257 2005
 61 19 17 2 0 2|8192B 36k| 215k 577k| 0 0 |3246 1922
 40 49 8 0 0 3| 0 40k| 312k 905k| 0 0 |3282 1732
 56 23 20 1 0 1|4096B 188k| 247k 897k| 0 0 |3102 2238
 39 19 27 16 0 0|4096B 77M| 265k 819k| 0 0 |5147 3075
 35 35 12 16 0 1|4096B 56M| 259k 1052k| 0 0 |4656 2739
 36 27 8 28 0 1|4096B 59M| 259k 1139k| 0 0 |5549 2821
 27 13 36 23 0 1|4096B 64M| 251k 1218k| 0 0 |4207 2540
usr sys idl wai hiq siq| 阅读令状| 接收发送| 进出| 诠释 csw
 26 4 13 57 0 1|4096B 66M| 275k 681k| 0 0 |5205 3291
 22 6 27 43 0 1|4096B 52M| 237k 684k| 0 0 |4906 2602
 14 3 24 58 0 0|4096B 46M| 278k 1058k| 0 0 |6448 3687
 19 3 34 43 0 2| 32k 51M| 233k 685k| 0 0 |5006 2652
 27 3 9 61 0 1|4096B 51M| 294k 800k| 0 0 |4428 2384
 17 3 30 50 0 1|4096B 42M| 243k 699k| 0 0 |5334 2830
 40 18 0 42 0 0| 0 89M| 247k 840k| 0 0 |4698 2977
 31 18 11 39 0 2|4096B 42M| 238k 1269k| 0 0 |4270 2474
 17 3 13 66 0 0|4096B 49M| 260k 773k| 0 0 |5153 3100
 21 2 14 62 0 1|8192B 46M| 269k 948k| 0 0 |6762 3581
 24 2 35 39 0 0|4096B 39M| 256k 777k| 0 0 |5313 2761
 15 2 10 72 0 1|4096B 49M| 237k 797k| 0 0 |5312 3018
 19 4 22 55 0 0|8192B 47M| 307k 1034k| 0 0 |5508 3278
 41 3 15 40 0 1|8192B 47M| 293k 727k| 0 0 |5630 3303
 16 2 26 54 0 1|4096B 56M| 282k 1750k| 0 0 |5016 2781
 17 3 12 67 0 2|8192B 43M| 238k 824k| 0 0 |5751 3147
 14 11 50 24 0 1|4096B 39M| 247k 1105k| 0 0 |4454 2389
 41 3 20 35 0 1| 0 58M| 152k 481k| 0 0 |4009 2958
 52 2 4 41 0 1|4096B 59M| 211k 621k| 0 0 |5449 2846
 31 2 0 66 0 1| 0 52M| 255k 1476k| 0 0 |5167 2693
 36 2 24 36 0 2| 12k 49M| 311k 888k| 0 0 |4537 2563
 47 7 2 43 0 2|4096B 50M| 231k 750k| 0 0 |4083 2165
 40 4 6 50 0 0|4096B 86M| 211k 819k| 0 0 |4768 2875
 29 5 2 65 0 0| 0 79M| 180k 580k| 0 0 |4271 4461
 40 3 0 57 0 0|4096B 58M| 238k 1489k| 0 0 |4366 4480
 27 8 26 38 0 1|4096B 33M| 301k 984k| 0 0 |4439 2838
 11 2 9 78 0 1|4096B 24M| 230k 646k| 0 0 |4894 4504
 10 3 14 72 0 0|4096B 21M| 183k 549k| 0 0 |4066 3952
 14 3 27 57 0 0| 0 64M| 147k 339k| 0 0 |3479 2860
 10 2 19 69 0 0|4096B 51M| 112k 452k| 0 0 |2847 2300
  9 4 18 69 0 0|4096B 37M| 131k 443k| 0 0 |2923 2004
  4 2 49 45 0 0|4096B 31M| 97k 230k| 0 0 |2163 1545
  1 2 73 24 0 0| 0 33M| 49k 130k| 0 0 |1425 824
  1 0 71 28 0 0| 0 26M| 36k 86k| 0 0 |1426 910
  0 0 55 45 0 0| 0 32M| 32k 148k| 0 0 |1334 695
  4 0 64 32 0 0| 0 39M| 14k 39k| 0 0 |1262 406
  0 2 38 60 0 0| 0 44M| 13k 44k| 0 0 |1136 382
  1 1 82 16 0 0| 0 47M| 25k 70k| 0 0 |1228 584
  1 3 69 27 0 0|4096B 46M| 23k 60k| 0 0 |1576 599
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| 阅读令状| 接收发送| 进出| 诠释 csw
  3 1 70 27 0 0|4096B 43M| 22k 54k| 0 0 |1065 574
  1 1 33 65 0 0| 0 46M|6124B 17k| 0 0 |1190 345
  1 1 49 50 0 0| 0 47M| 11k 22k| 0 0 |1258 444
  2 11 23 64 0 0| 56k 58M|9749B 47k| 0 0 |1143 379
  1 1 64 34 0 0| 0 51M| 198B 5914B| 0 0 |1048 234
  0 1 63 36 0 0| 0 58M| 662B 1278B| 0 0 | 976 454
  1 0 81 18 0 0| 0 50M| 426B 6022B| 0 0 |1304 600
  0 1 70 29 0 0| 0 43M| 132B 1868B| 0 0 |1150 210
  1 1 79 19 0 0| 0 51M| 198B 5914B| 0 0 | 986 246
  1 2 30 66 0 0| 0 54M| 246B 420B| 0 0 |1150 288
  1 0 49 50 0 0| 0 55M| 659B 6752B| 0 0 |1038 280
  1 2 37 60 0 0| 0 47M| 66B 354B| 0 0 |1191 227
  0 0 80 19 0 0| 0 43M| 561B 6044B| 0 0 |1129 256
  5 13 44 38 0 0| 0 49M|1558B 19k| 0 0 |1225 243
  3 6 48 42 0 0| 0 52M| 705B 6022B| 0 0 | 948 327  

什么可能导致这种行为?有什么技术可以避免这种情况吗?

4

4 回答 4

1

这里最大的怀疑是 EBS 卷的性能,CPU 可能正在等待 I/O 完成。下一个问题是导致 I/O 请求的原因。

在 ServerFault 上可能会更好地回答这个问题。

http://www.mysqlperformanceblog.com/2011/02/21/death-match-ebs-versus-ssd-price-performance-and-qos/

于 2011-02-25T21:50:51.617 回答
1

您在 CPU (65%) 上显示大量 IO_WAIT 状态。您可能只是从磁盘中提取了太多内容。尝试运行iostat并查看磁盘活动情况(即每秒事务数)。

但是,您提到了 10 到 20 个查询。这些查询是否在进行任何写作?他们在使用交易吗?如果任何一个的答案都是肯定的,那么您正在锁定是因为 MySQL 中的事务锁定。如果是这种情况,您的问题是您需要找到一种方法来删除事务,或者使查询更有效率。

一个好的测试是在服务器上创建另一个数据库。然后运行您的查询并尝试针对不同的数据库进行查询。如果它有效,那是由于事务锁。如果没有,则可能是磁盘或 VM 的其他一些泄漏...

于 2011-02-25T21:48:46.097 回答
1

EBS 的 IO 性能很差(我最近在小型实例上对 EBS 进行了基准测试,其速度是笔记本电脑硬盘的一半)。但是,您可以通过将多个 EBS 卷条带化到软件 RAID 配置中来显着改进它。

http://alestic.com/2009/06/ec2-ebs-raid

于 2012-07-16T02:38:01.437 回答
0

EBS 本身有很多限制,如果您在美国地区运行您的实例,最好切换到优化的 EBS 以使 IO 更快。甚至我也在管理一个自我管理的 Mysql,但后来切换到 RDS,它提供了比 EBS 更好的性能。

于 2013-02-26T06:50:32.093 回答