184 похожих чатов

Добрый день. Такой вопрос: Выполняем 5-10 параллельных вставок insert into selected

on tab final.
Вставки одинакового размера.
Вставки в одну партицию.
Параллельно с ними в эту же таблицу и в эту партицию идут вставки Insert values
Могут ли они друг друга аффектить?
Происходит то, что иногда вставки деградируют по скорости в 10 раз. Хочу выяснить почему так может происходить.

15 ответов

23 просмотра

каждая вставка порождает парт. Это отдельный подкаталог с полной структурой файлов таблицы. Друг на друга они никак не влияют, но используют общие iops диска и циклы CPU. После этого бекграунд процесс мерджит эти парты в более крупные. Мерждит - это читает, декомпрессирует, совмещает по порядку order by, компрессирует, пишет. И так постоянно. Не стоит делать много вставок. Особенно в 5-10 потоков. Нужно делать мало больших вставок, используя для этого какие-то внешние инструменты (kafka, kittenhouse , etc). Хороший размер вставки 100к

Clir- Автор вопроса
Boris
каждая вставка порождает парт. Это отдельный подк...

100к не можем вставлять, так как нужно вставлять быстро обновления делаем по 5-10к, потому что результаты нужны прям вот онлайн.

Clir
100к не можем вставлять, так как нужно вставлять б...

Используете SSD? Включены compact парты? Какая версия кх?

Clir- Автор вопроса

Replicated таблица? Какая версия КХ? То что вам тут наговорили скорее всего не связано с этим

Clir- Автор вопроса
Denny [Altinity]
Replicated таблица? Какая версия КХ? То что вам т...

да, replicated. 1 шард - 3 реплики, все версии 21.2.9.41 пишем только в одну

Clir
да, replicated. 1 шард - 3 реплики, все версии 21....

включите part_log или посмотрите в логе есть ли параллельно мержи посмотрите летенси в ZK , и сообщения в логе ZK про слишком долгие запись на версиях типа 20.8 тоже самое? в общем есть какая-то проблема которую пока не воспроизвели, не могу найти в гитхабе, потом напишу

Clir- Автор вопроса
Denny [Altinity]
включите part_log или посмотрите в логе есть ли па...

до этого была версия 20.1.3.7, там с такими нагрузками не работали

ZK вдруг не на тех же серверах что и кх?

Clir- Автор вопроса
Denny [Altinity]
включите part_log или посмотрите в логе есть ли па...

параллельные мерджи при запросе вставки? или чего?

Clir
параллельные мерджи при запросе вставки? или чего?

Мержи в тоже самое время что и инсерт https://github.com/ClickHouse/ClickHouse/issues/26755

Clir- Автор вопроса
Denny [Altinity]
Мержи в тоже самое время что и инсерт https://gith...

нашел нужные query_id, нашел время в part_log и отфильтровал part_log по этому промежутку времени + по пару секунд с разных сторон, остортировал по event_time MergeParts показывает после запросов на вставку. То есть во время вставки никаких мерджей не было, как я понял.

Clir- Автор вопроса
Clir- Автор вопроса
Denny [Altinity]
Мержи в тоже самое время что и инсерт https://gith...

это абсолютно похожая ситуация, подобные варнинги постоянно в логах реплик Found parts with the same min block and with the same max block as the missing part 1627030800_61998_62022_2. Hoping that it will eventually appear as a result of a merge.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта