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

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

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

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

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

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

12 ответов

12 просмотров

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

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

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 достаточно =) и тут ссылку разместить...

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта