ноде 0-0 пользователь запускает select * from ReplicatedMT where NonIndexField = 'Value', таблица реплицированная, в ней более 50млрд строк на 2тб, условия мимо индексов и ключей. Запрос висит час, другой, и в какой-то момент на этой же ноде 0-0 начинают тормозить запросы к другим таблицам, в system.processes под 70 выполняющихся запросов. Хотя лимит сервера по процессору не выбран и на 50%, по памяти - меньше 30%.
Одновременно с этим на ноде 0-1 зависает запрос insert into DistributedMT, хотя insert_distributed_sync=0.
Делаю kill query для этого большого селекта, system.processes резко уменьшается до 5-10 запросов, инсёрт на второй ноде тоже сразу завершается.
Не могу понять где узкое место. Куда смотреть? Почему действия на одной ноде влияют на другую? Какую профилактику лучше делать в таких ситуациях? Лимиты и квоты по памяти и времени?
Из любопытства, а по нагрузке дисков что?
Да вроде ничего особенного. Тормозящая нода - зелёная, её реплика - сине-зелёная.
Обсуждают сегодня