|
Innodb высокий IO без запущенных процессов
|
|||
---|---|---|---|
#18+
Добрый день, centos7 10.0.27-MariaDB Запущенный, но не использующийся mysql сервер пишет и читает на диск с ненормальной скоростью. В пиках до 10мб/c: 2455 be/4 mysql 2.40 M/s 0.00 B/s 0.00 % 97.34 % mysqld --basedir=/usr --datadir=/var/lib/mysql 2457 be/4 mysql 0.00 B/s 5.81 M/s 0.00 % 1.34 % mysqld --basedir=/usr --datadir=/var/lib/mysql При этом в show full processlist, и INNODB_TRX таблицах пустота. Никаких запросов на сервер не приходит. Я даже включал general_log. Никаких запросов приходящих на сервер в нём не было видно. Единственное, что я делал с этим сервером за последние сутки - удалил около 40 гигабайт ненужных данных из некоторых таблиц. (с помощью DELETE). На таблицах очень много индексов. Единственное что проходит в голову - возможно он начал в фоне перестраивать древа индексов(B-tree)? Нужен совет. В чём может быть дело? Куда смотреть, на что обращать внимание? Как локализовать? Как недопустить повторения в продакшане? Вырезка из SHOW ENGINE INNODB STATUS: BACKGROUND THREAD ----------------- srv_master_thread loops: 1545 srv_active, 0 srv_shutdown, 3791 srv_idle srv_master_thread log flush and writes: 5336 TRANSACTIONS ------------ Trx id counter 22228107 Purge done for trx's n:o < 22202871 undo n:o < 469 state: running History list length 1282 LIST OF TRANSACTIONS FOR EACH SESSION: ---TRANSACTION 22228106, not started MySQL thread id 158, OS thread handle 0x7f41ed50e700, query id 129930 10.15.20.188 admin init SHOW ENGINE INNODB STATUS FILE I/O -------- I/O thread 0 state: waiting for completed aio requests (insert buffer thread) I/O thread 1 state: waiting for completed aio requests (log thread) I/O thread 2 state: waiting for completed aio requests (read thread) I/O thread 3 state: waiting for completed aio requests (read thread) I/O thread 4 state: waiting for completed aio requests (read thread) I/O thread 5 state: waiting for completed aio requests (read thread) I/O thread 6 state: waiting for completed aio requests (write thread) I/O thread 7 state: waiting for completed aio requests (write thread) I/O thread 8 state: waiting for completed aio requests (write thread) I/O thread 9 state: waiting for completed aio requests (write thread) Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0] , ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0 Pending flushes (fsync) log: 0; buffer pool: 0 760441 OS file reads, 1081085 OS file writes, 66030 OS fsyncs 1 pending preads, 0 pending pwrites 99.14 reads/s, 16384 avg bytes/read, 260.67 writes/s, 15.50 fsyncs/s LOG --- Log sequence number 2151663951156 Log flushed up to 2151663911289 Pages flushed up to 2151597015337 Last checkpoint at 2151596987934 Max checkpoint age 433210615 Checkpoint age target 419672784 Modified age 66935819 Checkpoint age 66963222 0 pending log writes, 0 pending chkp writes 16181 log i/o's done, 2.41 log i/o's/second ROW OPERATIONS -------------- 0 queries inside InnoDB, 0 queries in queue 0 read views open inside InnoDB 0 RW transactions active inside InnoDB 0 RO transactions active inside InnoDB 0 out of 1000 descriptors used Main thread process no. 2434, id 139921331304192, state: sleeping Number of rows inserted 3954, updated 0, deleted 0, read 40510374 0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s Number of system rows inserted 0, updated 0, deleted 0, read 0 0.00 inserts/s, 0.00 updates/s, 0.00 deletes/s, 0.00 reads/s ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 16:52 |
|
Innodb высокий IO без запущенных процессов
|
|||
---|---|---|---|
#18+
Так же mysql начал останавливатся по 2 минуты, вместо двух секунд. В лога видно: 190801 10:28:20 [Note] InnoDB: Waiting for purge thread to be suspended 190801 10:29:20 [Note] InnoDB: Waiting for purge thread to be suspended Вероятно, что виновника мы нашли. Это фоновый INNODB purge thread. https://dev.mysql.com/doc/refman/5.7/en/innodb-improved-purge-scheduling.html Но что он может так усиленно очищать? Уже больше суток подряд. И продолжает делать это после рестарта. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2019, 11:31 |
|
Innodb высокий IO без запущенных процессов
|
|||
---|---|---|---|
#18+
На сервере всё ещё нет никакой нагрузки. Повнимательнее изучив SHOW ENGINE INNODB STATUS обнаружил, что mysql крайне активно читает и пишет в память. В рамках подхода "пальцем в небо" попробуем уменьшить innodb_buffer_pool_instances до трёх, что бы каждый буфер был по гигабайту. ---------------------- BUFFER POOL AND MEMORY ---------------------- Total memory allocated 3353346048; in additional pool allocated 0 Total memory allocated by read views 264 Internal hash tables (constant factor + variable factor) Adaptive hash index 57408560 (50998216 + 6410344) Page hash 399352 (buffer pool 0 only) Dictionary cache 12871103 (12750992 + 120111) File system 952552 (812272 + 140280) Lock system 7970576 (7969496 + 1080) Recovery system 0 (0 + 0) Dictionary memory allocated 120111 Buffer pool size 196600 Buffer pool size, bytes 3221094400 Free buffers 127272 Database pages 68937 Old database pages 25601 Modified db pages 8023 Percent of dirty pages(LRU & free pages): 4.089 Max dirty pages percent: 75.000 Pending reads 1 Pending writes: LRU 0, flush list 0, single page 0 Pages made young 204, not young 0 0.38 youngs/s, 0.00 non-youngs/s Pages read 68936, created 0, written 128020 100.67 reads/s, 0.00 creates/s, 200.24 writes/s Buffer pool hit rate 979 / 1000, young-making rate 0 / 1000 not 0 / 1000 Pages read ahead 1.73/s, evicted without access 0.00/s, Random read ahead 0.00/s LRU len: 68937, unzip_LRU len: 0 I/O sum[0]:cur[2328], unzip sum[0]:cur[0] ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2019, 12:10 |
|
Innodb высокий IO без запущенных процессов
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2019, 15:39 |
|
Innodb высокий IO без запущенных процессов
|
|||
---|---|---|---|
#18+
Если кому то интересно, то скорее всего проблема была в change buffer'e. На днях попробую выключить его и повторить тест-кейс. https://dev.mysql.com/doc/refman/5.7/en/innodb-change-buffer.html ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2019, 12:39 |
|
|
start [/forum/topic.php?fid=47&fpage=32&tid=1829020]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 147ms |
0 / 0 |