powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Mariadb Galera Cluster: кластер рандомно останавливается
25 сообщений из 69, страница 1 из 3
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500074
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую коллеги. Проблема обозначилась в окончательном виде.

В http://www.sql.ru/forum/1267380/mariadb-galera-cluster-zavisaut-zaprosy я писал, о том, что зависают отдельные запросы, но это "цветочки" по сравнению с тем, что происходит дальше. Через некоторое время с момента запуска (от 15 минут до нескольких дней) кластер становится колом - не принимает и не обрабатывает запросы приложений.

В PROCESSLIST при этом висит некоторое количество запросов в статусе Query End, при попытке их "убить" статус меняется на Killed - и всё.

В syslog\mysql-error.log может не быть ошибок совсем, а может быть что-то вроде

Aug 3 10:43:32 ru-tul-dc01-db-galera-node1 mysqld[1122]: 2017-08-03 10:43:32 139707425306368 [Warning] Aborted connection 2905 to db: 'basename' user: 'username' host: 'ip' (Got an error reading communication packets)
Aug 3 10:43:32 ru-tul-dc01-db-galera-node1 mysqld[1122]: 2017-08-03 10:43:32 139707424700160 [Warning] Aborted connection 2919 to db: 'basename' user: 'username' host' host: 'ip' (Got an error reading communication packets)

и\или множество

Aug 3 14:35:08 ru-tul-dc01-db-galera-node1 mysqld[1115]: 2017-08-03 14:35:08 140310822119168 [Warning] WSREP: certification interval for trx source: dcdccd42-7837-17837-11e7-a045-2a82ddbaac7a version: 3 local: 1 state: CERTIFYING flags: 1 conn_id: 1010 trx_id: 10244940 seqnos (l: 152638, g: 5113465, s: 5088151, d: -1, ts: 3445: 3445393337346) exceeds the limit of 16384)


Единственный способ вернуть кластер к жизни (на время) - перезапустить ноду на которую ведется запись. Переносить mysqld в одну NUMA ноду пробовал - проблема остается. Помогите пожалуйста понять где грабли, уже голову сломал. Конфиг прилагаю.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500445
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты performance schema принципиально смотреть не хочешь?
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500517
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow, похоже, что она выключена. Или я не то\ не там смотрю?

MariaDB [(none)]> SHOW VARIABLES LIKE 'performance_schema';
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| performance_schema | OFF |
+--------------------+-------+
1 row in set (0.00 sec)
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500574
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,

включил.

MariaDB [(none)]> show variables like 'performance%';
+--------------------------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------------------------+-------+
| performance_schema | ON |
| performance_schema_accounts_size | 100 |
| performance_schema_digests_size | 10000 |
| performance_schema_events_stages_history_long_size | 10000 |
| performance_schema_events_stages_history_size | 10 |
| performance_schema_events_statements_history_long_size | 10000 |
| performance_schema_events_statements_history_size | 10 |
| performance_schema_events_waits_history_long_size | 10000 |
| performance_schema_events_waits_history_size | 10 |
| performance_schema_hosts_size | 100 |
| performance_schema_max_cond_classes | 80 |
| performance_schema_max_cond_instances | 3300 |
| performance_schema_max_digest_length | 1024 |
| performance_schema_max_file_classes | 50 |
| performance_schema_max_file_handles | 32768 |
| performance_schema_max_file_instances | 3077 |
| performance_schema_max_mutex_classes | 200 |
| performance_schema_max_mutex_instances | 10000 |
| performance_schema_max_rwlock_classes | 40 |
| performance_schema_max_rwlock_instances | 5000 |
| performance_schema_max_socket_classes | 10 |
| performance_schema_max_socket_instances | 1020 |
| performance_schema_max_stage_classes | 150 |
| performance_schema_max_statement_classes | 188 |
| performance_schema_max_table_handles | 4000 |
| performance_schema_max_table_instances | 12500 |
| performance_schema_max_thread_classes | 50 |
| performance_schema_max_thread_instances | 1100 |
| performance_schema_session_connect_attrs_size | 512 |
| performance_schema_setup_actors_size | 100 |
| performance_schema_setup_objects_size | 100 |
| performance_schema_users_size | 100 |
+--------------------------------------------------------+-------+
32 rows in set (0.00 sec)


На что стоит обратить внимание? К сожалению, доселе не работал с perfomance schema, потому прошу прощения за глупые вопросы.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500636
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПереносить mysqld в одну NUMA ноду пробовал - проблема остается.
прямо сразу или спустя время? оно же обратно смигрирует, если нагрузка растет и ядро принимает решение подключить второй процессор.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500637
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕдинственный способ вернуть кластер к жизни (на время) - перезапустить ноду на которую ведется запись.
Раз он какое-то время нормально работает, я все же считают это основанием заняться numa.

Когда начинает тормозить, что видно в numastat -pm| grep mysqld ?
если пара мегабайт - это нормально. Если сотни мегабайт - значит он мигрирует.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500723
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

через час-несколько часов ломается, без корреляции с NUMA. Вот вывод команды в состоянии "кластер стоит колом".

numastat -pm| grep mysqld
5879 (mysqld) 52241.51 2614.92 54856.43

Прилагаю вывод SHOW PROCESSLIST, где видны зависшие запросы (айпи я "замазал")
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500734
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dpronyaev, ну 2 гб из 54 же мигрировало.
Может там какой-то баг в дополнении к замедлению работы.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500743
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

Не исключено... Но к разгадке "что же делать" это не ведет. Буду думать дальше.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500745
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dpronyaev, зафиксировать. И от замедления избавит и, возможно, вызванного этим бага.
раз вам хватает 54 гб из 192, то оно может неплохо поработать на одной ноде.
С производительностью процессора правда не понятно.

А еще проверьте значение
cat /sys/kernel/mm/ksm/merge_across_nodes
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500836
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

cat /sys/kernel/mm/ksm/merge_across_nodes
1

И вот сейчас у меня есть один единственный зависший запрос типа

| 2641 | юзер | ip:49454 | база| Execute | 7571 | NULL | SELECT * FROM `таблица` WHERE useralias = '74224752' | 0.000 |

Как бы извлечь максимум информации о том, что происходит с этим запросом?

Если я просто вбиваю его в командную строку, он выполняется мгновенно.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500837
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

с другой стороны cat /sys/kernel/mm/ksm/run
0


Т.е. ksm получается не запущен.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500840
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dpronyaev, не особо мне понятно где в данном случае смотрят всякие блокировки, но может это вкомпилено в innodb ?
show engine innodb status; показывает их.

Ну а что бы NUMA не добить до конца, если второй экземпляр тормозит?
KSM не запущен, но ядро может и просто так решить выделить память из другой ноды, если не предприняты специальные действия - запуск mysql через numactl.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500842
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще кажется что не запрос висит, а упавшая репликация никак не останавливает запросы во время выполнения которых все сломалось.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500843
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

так это же SELECT - он не вызывает изменений в базе и потому не реплицируется никуда.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500844
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dpronyaev, зато он блокировки чтения накладывает и тд.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500845
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не хотите нуму исправлять - вот вам man gdb.
А че мелочиться.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500847
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

не могу понять как ее лучше исправить. Выключить в опциях ядра? Выключить в опциях mysqld? Урезать innodb_buffer_pool_size до половины RAM?
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500851
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dpronyaev, ну что непонятного в numactl?
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500856
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netwind,

Не вполне очевидно что делать - man короткий и малопонятный (лично мне) . Вот какая картина сейчас:
numactl --hardware
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 96849 MB
node 0 free: 60960 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 96957 MB
node 1 free: 90813 MB
node distances:
node 0 1
0: 10 21
1: 21 10

numactl --show mysqld
policy: default
preferred node: current
physcpubind: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
cpubind: 0 1
nodebind: 0 1
membind: 0 1


Мне, получается, нужно сделать так, чтобы mysqld работал в рамках только одной ноды (например, 1).

Мне нужно установить это командой вроде numactl -cpunodebind=1 --membind=1 mysqld ?
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39500857
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dpronyaev, эту команду придется вставить куда-нибудь в процесс запуска mysqld. Она не позволяет менять настройки у уже запущенных процессов. Не знаю почему так.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39501245
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,

Может быть, порекомендуете как с помощью Perfomance Schema посмотреть что происходит с зависшими запросами? К сожалению, не получается найти информацию самостоятельно, вероятно я не то и не там ищу.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39501438
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотреть что делает зависший процесс
select * from EVENTS_WAITS_CURRENT where THREAD_ID=3


посмотреть что ждали процессы
select THREAD_ID, EVENT_ID, EVENT_NAME, SOURCE, TIMER_WAIT, OBJECT_INSTANCE_BEGIN, OPERATION from EVENTS_WAITS_HISTORY --where THREAD_ID=3
order by THREAD_ID, EVENT_ID;
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39501447
dpronyaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,

Спасибо! При очередном зависании соберу данные.
...
Рейтинг: 0 / 0
Mariadb Galera Cluster: кластер рандомно останавливается
    #39501453
netwind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dpronyaev, счетчики производительности предназначены для анализа производительности, а у вас навсегда зависает.
в gdb надо смотреть.

Ну или все же попытаться выровнять ситуацию с NUMA в надежде, что влияет на синхронизацию в wsrep-кластере тоже.
...
Рейтинг: 0 / 0
25 сообщений из 69, страница 1 из 3
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Mariadb Galera Cluster: кластер рандомно останавливается
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]