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

Господа, добрый день. подскажите, пожалуйста, по такой ситуации. Есть желание для

тестов сервиса поднимать локально небольшой кластер из двух нод, накатывать миграции. Столкнулся с тем что миграции идут медленно (около 20 секунд). Таблиц и мат вьюшек в сумме не больше двадцати.
Я пробросил внутрь контейнеров рам диск в /var/lib/clickhouse, но ситуацию это не улучшило.

Ранее подобная схема работала для постгреса (на одном инстансе). Хочется провернуть и с кликхаусом.

Может ли быть проблема в zookeeper или чисто в clickhouse ?
Есть ли вариант ускорить миграции?

конфиг https://pastebin.com/3Rm55SZZ

12 ответов

16 просмотров

это не ускорить через "один инстанс" что конкретно медленно идет? замеряли?

что такое миграции? пример дайте

Alexey- Автор вопроса
Slach [altinity]
это не ускорить через "один инстанс" что конкретно...

-------------------------------------------------------------- ALTER TABLE db.site_state_sum_by_hour on cluster default ADD COLUMN decontaminating UInt64 clickhouse-0-0 | 2022.06.10 12:17:52.249863 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Processing tasks clickhouse-0-0 | 2022.06.10 12:17:52.252776 [ 66 ] {f90bc782-c0f5-4ef0-918f-31cdf8007526} <Debug> executeQuery: Query pipeline: clickhouse-0-0 | DDLQueryStatusInputStream clickhouse-0-0 | clickhouse-0-0 | 2022.06.10 12:17:52.255504 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Processing task query-0000000058 (ALTER TABLE db.site_state_sum_by_hour ON CLUSTER default ADD COLUMN `decontaminating` UInt64 ) clickhouse-0-0 | 2022.06.10 12:17:52.258491 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Executing query: ALTER TABLE db.site_state_sum_by_hour ADD COLUMN `decontaminating` UInt64 clickhouse-0-0 | 2022.06.10 12:17:52.296857 [ 55 ] {} <Debug> db.site_state_sum_by_hour (ReplicatedMergeTreeQueue): Pulling 1 entries to queue: log-0000000001 - log-0000000001 clickhouse-0-0 | 2022.06.10 12:17:52.300565 [ 55 ] {} <Debug> db.site_state_sum_by_hour (ReplicatedMergeTreeQueue): Pulled 1 entries to queue. clickhouse-0-0 | 2022.06.10 12:17:52.304074 [ 94 ] {} <Information> db.site_state_sum_by_hour: Metadata changed in ZooKeeper. Applying changes locally. clickhouse-0-0 | 2022.06.10 12:17:52.307642 [ 94 ] {} <Information> db.site_state_sum_by_hour: Applied changes to the metadata of the table. Current metadata version: 2 clickhouse-0-0 | 2022.06.10 12:17:53.024009 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Task query-0000000058 has already been executed by leader replica (clickhouse%2D0%2D1:9000) of the same shard. clickhouse-0-0 | 2022.06.10 12:17:53.027875 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Waiting a watch clickhouse-0-0 | 2022.06.10 12:17:53.153106 [ 66 ] {f90bc782-c0f5-4ef0-918f-31cdf8007526} <Information> executeQuery: Read 2 rows, 116.00 B in 0.916 sec., 2 rows/sec., 126.63 B/sec. clickhouse-0-0 | 2022.06.10 12:17:53.154185 [ 66 ] {f90bc782-c0f5-4ef0-918f-31cdf8007526} <Debug> MemoryTracker: Peak memory usage (for query): 53.27 KiB. clickhouse-0-0 | 2022.06.10 12:17:53.154832 [ 66 ] {} <Debug> MemoryTracker: Peak memory usage (for query): 53.27 KiB. clickhouse-0-0 | 2022.06.10 12:17:53.154960 [ 66 ] {} <Information> TCPHandler: Processed in 0.919 sec. clickhouse-0-0 | 2022.06.10 12:17:53.158337 [ 66 ] {} <Information> TCPHandler: Done processing connection. clickhouse-0-0 | 2022.06.10 12:17:53.162922 [ 67 ] {} <Debug> TCPHandler: Connected Golang SQLDriver version 1.1.0, revision: 54213, database: db, user: default. clickhouse-0-0 | 2022.06.10 12:17:53.165778 [ 67 ] {9207c04f-6eca-4f01-b886-930e728f1ea6} <Debug> executeQuery: (from 172.23.0.1:58638) ALTER TABLE db.dis_site_state_sum_by_hour on cluster default ADD COLUMN decontaminating UInt64 clickhouse-0-0 | 2022.06.10 12:17:53.179244 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Processing tasks clickhouse-0-0 | 2022.06.10 12:17:53.183481 [ 67 ] {9207c04f-6eca-4f01-b886-930e728f1ea6} <Debug> executeQuery: Query pipeline: clickhouse-0-0 | DDLQueryStatusInputStream clickhouse-0-0 | clickhouse-0-0 | 2022.06.10 12:17:53.184920 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Processing task query-0000000059 (ALTER TABLE db.dis_site_state_sum_by_hour ON CLUSTER default ADD COLUMN `decontaminating` UInt64 ) clickhouse-0-0 | 2022.06.10 12:17:53.186911 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Executing query: ALTER TABLE db.dis_site_state_sum_by_hour ADD COLUMN `decontaminating` UInt64 clickhouse-0-0 | 2022.06.10 12:17:53.187041 [ 53 ] {8a6967d7-ef7f-4194-bacf-34cd4addfef1} <Debug> executeQuery: (from 0.0.0.0:0, user: ) /* ddl_entry=query-0000000059 */ ALTER TABLE db.dis_site_state_sum_by_hour ADD COLUMN `decontaminating` UInt64

Alexey- Автор вопроса
Slach [altinity]
это не ускорить через "один инстанс" что конкретно...

clickhouse-0-0 | 2022.06.10 12:17:53.190273 [ 53 ] {8a6967d7-ef7f-4194-bacf-34cd4addfef1} <Debug> DDLWorker: Executed query: ALTER TABLE db.dis_site_state_sum_by_hour ADD COLUMN `decontaminating` UInt64 clickhouse-0-0 | 2022.06.10 12:17:53.193780 [ 53 ] {8a6967d7-ef7f-4194-bacf-34cd4addfef1} <Debug> DDLWorker: Waiting a watch clickhouse-0-0 | 2022.06.10 12:17:53.296803 [ 67 ] {9207c04f-6eca-4f01-b886-930e728f1ea6} <Information> executeQuery: Read 2 rows, 116.00 B in 0.131 sec., 15 rows/sec., 888.05 B/sec. clickhouse-0-0 | 2022.06.10 12:17:53.297774 [ 67 ] {9207c04f-6eca-4f01-b886-930e728f1ea6} <Debug> MemoryTracker: Peak memory usage (for query): 26.55 KiB. clickhouse-0-0 | 2022.06.10 12:17:53.298826 [ 67 ] {} <Debug> MemoryTracker: Peak memory usage (for query): 26.55 KiB. clickhouse-0-0 | 2022.06.10 12:17:53.298935 [ 67 ] {} <Information> TCPHandler: Processed in 0.133 sec. clickhouse-0-0 | 2022.06.10 12:17:53.300495 [ 67 ] {} <Information> TCPHandler: Done processing connection. clickhouse-0-0 | 2022.06.10 12:17:53.303949 [ 66 ] {} <Debug> TCPHandler: Connected Golang SQLDriver version 1.1.0, revision: 54213, database: db, user: default. я пытался проанализировать что именно идет долго, но вот лог добвления поля в таблицу. я не понимаю что уходит целая секунда.

Alexey
--------------------------------------------------...

это ON CLUSTER и DDL Worker секунда уходит скорее всего на общение с zookeeper clickhouse-0-0 | 2022.06.10 12:17:53.024009 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Task query-0000000058 has already been executed by leader replica (clickhouse%2D0%2D1:9000) of the same shard. clickhouse-0-0 | 2022.06.10 12:17:53.027875 [ 53 ] {30396df0-c5e7-4787-a2db-8394f703ce60} <Debug> DDLWorker: Waiting a watch попробуйте миграции только на одном контейнере запускать

Alexey- Автор вопроса
Slach [altinity]
это ON CLUSTER и DDL Worker секунда уходит скорее...

в один контейнер положить два инстанса кликхауса и зукипер?

Alexey
в один контейнер положить два инстанса кликхауса и...

зачем? нет, ALTER TABLE только в одном контейнере запускайте а не на всех

Alexey- Автор вопроса
Slach [altinity]
зачем? нет, ALTER TABLE только в одном контейнере...

попробовал, логично, что при запуске без on cluster запрос отработал за 0.006sec против 0.015sec c on cluster. Но все равно 0.015 это не секунда. Как я понимаю, я упираюсь в зукипер и надо копать в сторону его производительности?

Alexey
попробовал, логично, что при запуске без on cluste...

я что-то не понял когда 1 секунда превратилась в 0.015 для ON CLUSTER? там же по логам у вас 0.7 секунды вообще.... ну можно и в zookeeper RAM диск пробросить попробовать. но не уверен что сильно ускорит кстати если соберете docker-compose такой с ramdisk то опубликуйте если не трудно? сделаете доброе дело

Alexey- Автор вопроса
Slach [altinity]
я что-то не понял когда 1 секунда превратилась в 0...

по логам у меня было начало в 2022.06.10 12:17:52.249863, окончание - 2022.06.10 12:17:53.298826. то есть примерно секунда. если все таки соберу, то буду иметь в виду и выложу. но пока я все руками делал, тем более на макоси, которая не поддерживает tmpfs. а публиковать куда?)

Alexey
по логам у меня было начало в 2022.06.10 12:17:52....

gist.github.com достаточно =) и тут ссылку разместить...

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Всем привет. Возможно ли выполнить код ahk без интерпритатора? Имея только скомпилированный ехе файл? Например как функция eval
proxy
6
Карта сайта