Tôi có một ví dụ MySQL trên hai máy chủ chuyên dụng. Một cho sản xuất, một cho nền tảng thử nghiệm.
Hai máy chủ khá giống nhau, sự khác biệt duy nhất là bộ điều khiển RAID và âm lượng ảo (HD là như nhau). Về sản xuất, có bộ điều khiển RAID RAID chuyên dụng và âm lượng RAID 10. Mặt khác, bộ điều khiển RAID dường như là phần mềm (Lenovo ThinkServer RAID 110i) và âm lượng là RAID 5.
Chúng tôi nhận thấy rằng trong quá trình MySQL cam kết, chúng tôi có iowait cao:
while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done
root 26661 0.0 0.0 0 0 ? D Jun09 5:41 \_ [jbd2/dm-14-8]
root 26691 0.0 0.0 0 0 ? D Jun09 0:57 \_ [jbd2/dm-10-8]
Thu Jun 18 13:49:37 CEST 2015
root 26691 0.0 0.0 0 0 ? D Jun09 0:57 \_ [jbd2/dm-10-8]
Thu Jun 18 13:49:38 CEST 2015
root 1474 0.0 0.0 0 0 ? D Jun04 0:23 \_ [jbd2/dm-5-8]
root 26691 0.0 0.0 0 0 ? D Jun09 0:57 \_ [jbd2/dm-10-8]
Thu Jun 18 13:49:39 CEST 2015
Thu Jun 18 13:49:40 CEST 2015
root 1474 0.0 0.0 0 0 ? D Jun04 0:23 \_ [jbd2/dm-5-8]
root 1478 0.0 0.0 0 0 ? D Jun04 0:03 \_ [jbd2/dm-7-8]
root 26661 0.0 0.0 0 0 ? D Jun09 5:41 \_ [jbd2/dm-14-8]
dm-10-8 & dm-14-8 có liên quan đến phân vùng cơ sở dữ liệu.
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 3 240904 809656 572624 7114416 0 0 59 1681 2002 5141 3 1 67 30 0
0 4 240880 809656 572632 7114604 0 0 139 2069 2090 4985 3 1 67 29 0
1 2 240880 809284 572636 7114676 0 0 27 2159 2253 4247 2 1 72 25 0
5 2 240880 809408 572656 7114820 0 0 27 2404 2254 5350 3 1 69 27 0
Tôi nghi ngờ bộ điều khiển đột kích, làm thế nào tôi có thể chắc chắn?