- Bạn để ý dòng Cpu: 86.8%wa (`wa` là viết tắt của IO-Wait)
- Cột S có rất nhiều processes bị `D` state - Uninterruptible sleep.
Đây là nguyên nhân dẫn đến Load Average tăng cao, làm server bị chậm. Nhìn qua là có thể đoán được process nào là "thủ phạm" rồi. Để chắc chắn, bạn có thể cài `iotop` lên rồi chạy `sudo iotop -o` xem.
Nếu kernel bạn đang chạy < 2.6.20 thì có thể dùng `dstat`:
Code:
yum --enablerepo=rpmforge-extras update dstat
dstat -d --top-io --top-bio
Nếu MySQL là nguyên nhân, trước mắt bạn thử kiểm tra xem có nhiều temp tables được tạo ra trên disk không?
Code:
mysql> show global status like '%tmp_%';
`key_buffer_size` có đủ to để index MyISAM không?
Code:
mysql> show global variables like 'key_buffer_size';
# du -c /path/to/datadir/*/*.MYI
`query_cache_type` có enable không?
Code:
mysql> show global variables like 'query_cache%';
Mặc dù nhìn vào `top` output thì CPU còn thấp nên slow query có thể chưa phải là nguyên nhân chính, nhưng mình nghĩ cũng nên:
- bật slow query log lên
- enable log-queries-not-using-indexes
- set long_query_time = 0
rồi dùng `pt-query-digest` tuning từng thằng một: http://www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.html