Size: a a a

ClickHouse не тормозит

2020 June 05

AT

Al T in ClickHouse не тормозит
Денис Никульников
Всем привет, кто-то пробовал интеграцию Clickhouse и apache kafka через двихок kafka? Какой объем примерно трафика сможет поглоить cickhouse на 8 ядерной виртуалке с 8 cpu? Проблема в том, что когда в кафку на вход идет 50mbit/s консьюмер Clickhouse-a  поглощает примерно 45mbit/s и образуется все время растущий лаг... При этом процы сервера clickhouse - забиты лишь наполовину! Но что бы я ни делал (игрался с настройками rdkafka и количеством партиций) быстрее он все равно не поглощает..
как-то странно, то есть если пустить 60mbit все равно 45 только возьмет? а не пробовали вторую таблицу к тому же топику?
источник

ДН

Денис Никульников... in ClickHouse не тормозит
Al T
как-то странно, то есть если пустить 60mbit все равно 45 только возьмет? а не пробовали вторую таблицу к тому же топику?
все равно 45,  2 не пробовал. Думаешь из-за задержки на запись в таблицу? (У меня 1 mergetree) Самое странное что процы ток в половину загружены, так и не получилось их в планку поставить...
источник

AT

Al T in ClickHouse не тормозит
не знаю, вроде как и немного если честно по трафику
источник

AT

Al T in ClickHouse не тормозит
но советуют вторую таблицу если не выгребает
источник

ДН

Денис Никульников... in ClickHouse не тормозит
Спасибо попробую..
источник

KL

Konstantin Lebedev in ClickHouse не тормозит
Всем привет. Кто-то может посоветовать годный менетжер миграций табличек с логами для кликхауса ?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Dj
в контексте КХ это же дефолтное поведение родного клиента - по моему очевидность определяется этим )

Но да, лучше ввести флажок, чтоб клиент не додумывал, потому что клиенты других баз не додумывают...
ну я в джава клиентах в connection properties вписываю

use_time_zone Canada/Atlantic
use_server_time_zone_for_dates false
use_server_time_zone false

в этом случае jdbc не делает select timezone() / считает что данные с сервера приходят в Canada/Atlantic / и конвертирует их мою клиентскую таймзону (JVM) Canada/Atlantic. Таким образом я вижу даты в таймзоне сервера (у которого обычно UTC, но это не важно)
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Денис Никульников
Всем привет, кто-то пробовал интеграцию Clickhouse и apache kafka через двихок kafka? Какой объем примерно трафика сможет поглоить cickhouse на 8 ядерной виртуалке с 8 cpu? Проблема в том, что когда в кафку на вход идет 50mbit/s консьюмер Clickhouse-a  поглощает примерно 45mbit/s и образуется все время растущий лаг... При этом процы сервера clickhouse - забиты лишь наполовину! Но что бы я ни делал (игрался с настройками rdkafka и количеством партиций) быстрее он все равно не поглощает..
надо проверять на самом последнем 20.4
если пинг большой до брокера рекомендую влючить комрессию топиков zstd
источник

ДН

Денис Никульников... in ClickHouse не тормозит
у меня сейчас 20.3.8
источник

ДН

Денис Никульников... in ClickHouse не тормозит
не такой уж и древний)
источник

ДН

Денис Никульников... in ClickHouse не тормозит
они в 1 сети пинг маленький
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Денис Никульников
у меня сейчас 20.3.8
а сколько это в строках 45мбит? в смысле они широкие или узкие?
источник

D

Dj in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ну я в джава клиентах в connection properties вписываю

use_time_zone Canada/Atlantic
use_server_time_zone_for_dates false
use_server_time_zone false

в этом случае jdbc не делает select timezone() / считает что данные с сервера приходят в Canada/Atlantic / и конвертирует их мою клиентскую таймзону (JVM) Canada/Atlantic. Таким образом я вижу даты в таймзоне сервера (у которого обычно UTC, но это не важно)
а если написать только так
use_server_time_zone_for_dates false
use_server_time_zone false

клиент будет конвертить от UTC к локальной ТЗ?
источник

ДН

Денис Никульников... in ClickHouse не тормозит
примерно 12к msg/sec
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Dj
а если написать только так
use_server_time_zone_for_dates false
use_server_time_zone false

клиент будет конвертить от UTC к локальной ТЗ?
по моему ошибку напишет что use_time_zone не установлена (я проверял 2 года назад)
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Денис Никульников
примерно 12к msg/sec
параметр у таблицы kafka_max_block_size попробуйте поставить 128к -> 256k
но вроде 2 кафка таблицы должны тоже помогать
источник

ДН

Денис Никульников... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
параметр у таблицы kafka_max_block_size попробуйте поставить 128к -> 256k
но вроде 2 кафка таблицы должны тоже помогать
Спасибо за совет, попробую
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Anttoon
<https_port>8443</https_port>
   <tcp_port_secure>9440</tcp_port_secure>

эти настройки раскоментированы
может еще что-то ?
ну вот поставил я голый кх, на чистый линукс
он стартовал успешно

я раскоментивал
<https_port>8443</https_port>
<tcp_port_secure>9440</tcp_port_secure>

рестартую, кх не стартует

2020.06.05 13:11:15.381770 [ 151662 ] {} <Error> Application: DB::Exception: Listen [::]:8443 failed: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = SSL context exception: Error loading private key from file /etc/clickhouse-server/server.key: error:02000002:system library::No such file or directory (version 20.4.4.18 (official build))
2020.06.05 13:11:15.381781 [ 151662 ] {} <Information> Application: shutting down

не может быть такого что эти настройки раскоментированы, кх стартовал, и при этом не слушает эти порты
источник

AI

Artsiom Ivanov in ClickHouse не тормозит
Dj
можно через groupArray->array join
да, что-то даже получилось, спасибо))
как-то можно упростить (например промежуточные имена не нравятся: SELECT name FROM <...> col.1 as _name<...>)?
SELECT _name as name, _price as price, avg
FROM (
     SELECT arrayJoin(groupArray((name, price))) as col, col.1 as _name, col.2 as _price, avg(price) as avg
     FROM (
           SELECT arrayJoin([(3, 'a'), (5, 'b'), (3, 'c'), (3, 'd')]) as col, col.1 as price, col.2 as name
              )
        )
WHERE price > avg;
источник

D

Dj in ClickHouse не тормозит
Artsiom Ivanov
да, что-то даже получилось, спасибо))
как-то можно упростить (например промежуточные имена не нравятся: SELECT name FROM <...> col.1 as _name<...>)?
SELECT _name as name, _price as price, avg
FROM (
     SELECT arrayJoin(groupArray((name, price))) as col, col.1 as _name, col.2 as _price, avg(price) as avg
     FROM (
           SELECT arrayJoin([(3, 'a'), (5, 'b'), (3, 'c'), (3, 'd')]) as col, col.1 as price, col.2 as name
              )
        )
WHERE price > avg;
...     ( WITH col.1 as price, col.2 as name
           SELECT arrayJoin([(3, 'a'), (5, 'b'), (3, 'c'), (3, 'd')]) as col, price,  name
...
источник