Codziennie mniej więcej w tym samym czasie użycie IO na serwerze, na którym nasz slave mysql wzrasta do 100%.
Zainstalowałem skrypt, który pobiera informacje IO co pięć minut, dzięki czemu mogę dowiedzieć się, dlaczego tak się dzieje.
Do tej pory widzę, że proces mysql powoduje ten skok, ale nie mogę dowiedzieć się, co faktycznie robi mysql, aby to spowodować.
Za pomocą pidstat
otrzymuję:
Linux 3.2.0-4-amd64 (-db03) 09/03/2014 _x86_64_ (24 CPU)
03:30:05 AM PID kB_rd/s kB_wr/s kB_ccwr/s Command
03:30:20 AM 418 0.00 5.06 0.00 jbd2/sda1-8
03:30:20 AM 31124 878.88 12179.08 0.00 mysqld
03:30:20 AM PID kB_rd/s kB_wr/s kB_ccwr/s Command
03:30:35 AM 418 0.00 1.07 0.00 jbd2/sda1-8
03:30:35 AM 31124 1124.80 12924.00 0.00 mysqld
Average: PID kB_rd/s kB_wr/s kB_ccwr/s Command
Average: 418 0.00 3.07 0.00 jbd2/sda1-8
Average: 31124 1001.80 12551.42 0.00 mysqld
Za pomocą pt-mysql-summary
otrzymuję:
# Processlist ################################################
Command COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
Connect 2 2 3500000 3500000
Query 1 1 0 0
Sleep 2 0 15 8
User COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
monitoring 2 0 0 0
root 1 1 0 0
system user 2 2 3500000 3500000
Host COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
2 2 3500000 3500000
localhost 3 1 0 0
db COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
flats_production 2 1 600 600
NULL 3 2 3500000 3500000
State COUNT(*) Working SUM(Time) MAX(Time)
------------------------------ -------- ------- --------- ---------
2 0 0 0
init 1 1 0 0
updating 1 1 600 600
Waiting for master to send eve 1 1 3500000 3500000
Ale show full processlist
nie pokazuje nic nienormalnego.
Masz pomysł, jak mogę to debugować?
mysql
troubleshooting
io
simao
źródło
źródło