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

Еще одно странное поведение (обновили КХ 20.4.3 > 20.12.4) временные таблицы с

engine=Log
созданные и еще не дропнутые с версии 20.4 читаются в несколько тредов (insert-select ~1m rows ~19sec)

а созданная в 20.12 почему-то ломится в 1 тред (и в 2-3 раза дольше обрабатывается)
насильно пытаюсь увеличить (
set max_threads = 6;
set min_insert_block_size_rows=200000;) - не помогает - видимо чего-то не учел?

12 ответов

6 просмотров

Странно это. А просто селект тоже в 1 поток?

Piotr-Liakhavets Автор вопроса
【D】【J】
Странно это. А просто селект тоже в 1 поток?

Когда таблицу log заполняю с min_insert_block_size_rows=200000 То на селекте в формат нулл можно добиться того, чтобы было несколько тредов Но чтобы и на инсерты позитивно повлияло - не заборол пока

Piotr Liakhavets
Когда таблицу log заполняю с min_insert_block_siz...

max_insert_threads можно попробовать увеличить, если еще не делали https://github.com/ClickHouse/ClickHouse/search?q=max_insert_threads

Piotr Liakhavets
Когда таблицу log заполняю с min_insert_block_siz...

Так у вас вставка не параллелится? Я думал селекты. По вставке insert_select куча параметров есть которые надо смотреть.

Piotr-Liakhavets Автор вопроса
Piotr-Liakhavets Автор вопроса
【D】【J】
Так у вас вставка не параллелится? Я думал селекты...

А есть где-то в сконцентрированом виде список? А то разрозненно натыкался на разные, а полной картины не сложил в голове

т.е. разница в том как создается engine=Log , одним блоком или несколькими. Откуда берутся эти engine=Log ? каким запросом?

Piotr-Liakhavets Автор вопроса
Denny [Altinity]
т.е. разница в том как создается engine=Log , одни...

create ttt as prototype_table engine=Log потом шелл zcat file | clickhouse-client -q"insert into ttt format CSV"

Piotr Liakhavets
create ttt as prototype_table engine=Log потом ше...

ну например так --max_insert_block_size=10000 --input_format_parallel_parsing=0 zcat file | clickhouse-client --max_insert_block_size=10000 --input_format_parallel_parsing=0 -q"insert into ttt format CSV"

Piotr-Liakhavets Автор вопроса
Denny [Altinity]
ну например так --max_insert_block_size=10000 --in...

спасибо, пробую на последующий ЕТЛ-ьный запрос к этой таблице насильно какие-то сеттинги надо добавлять? или само должно понять?

Piotr-Liakhavets Автор вопроса
Denny [Altinity]
ну например так --max_insert_block_size=10000 --in...

тредов стадо больше (~6) но к скорости последующей выборки плюсануло не так сильно, как я надеялся [hostname] 2021.01.13 15:01:57.683883 [ 2607564 ] {f1e730ce-c8f9-429c-a8b5-d957fdc1f27f} <Information> executeQuery: Read 1624753 rows, 1.35 GiB in 28.547938887 sec., 56913 rows/sec., 48.38 MiB/sec. [hostname] 2021.01.13 15:01:57.684423 [ 2607564 ] {f1e730ce-c8f9-429c-a8b5-d957fdc1f27f} <Debug> MemoryTracker: Peak memory usage (for query): 3.32 GiB. получается что-то из дефолтных сеттингов решило вести себя иначе Спасибо @den_crane

Piotr Liakhavets
тредов стадо больше (~6) но к скорости последующей...

ну сделайте тикет на гитхабе что регресия перфоманса, приложите статистику, было так, стало так

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

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

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
25
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
10
Хтось використовував Vapor на Windows?
Jaroshevskii
15
Тут кста кто-нибудь NeoVim использует?
Simple Sorcerer
13
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
у меня вопрос на счет .global <name> для чего это нужно если я пишу на ассемблере? только для того что бы сделать это видимым для линкера? вот что написано в докумментации GA...
Simple Sorcerer
1
Карта сайта