2
MySQL为什么要进行串行同步I / O?
当在MyISAM表上查看一个特别烦人的查询时,在许多情况下要花很长时间才能执行,我注意到MySQL似乎暴露出一种相当奇怪的I / O模式:执行单个查询时,必须要做很多事情I / O量(例如,对于表扫描或由于高速缓存而导致缓存为空,echo 3 > /proc/sys/vm/drop_caches因此需要首先从磁盘加载索引)时,基础块设备的队列大小接近于值1,而性能则极差仅4-5 MB / s: root@mysql-test:~# iostat -xdm 5 /dev/sda Linux 3.2.0-40-generic (mysql-test) 04/30/2014 _x86_64_ (4 CPU) Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.14 24.82 18.26 88.79 0.75 4.61 102.56 2.83 26.39 19.29 27.85 2.46 …