@clickhouse_ru

Страница 500 из 723
Vsevolod
17.04.2018
14:12:39
с v4 сейчас попробую тоже придумать тест

Vyacheslav
17.04.2018
14:12:46
это у тебя похоже все в l3 попало

Vsevolod
17.04.2018
14:13:06
а у меня нет бОльших деревьев

+ само дерево кладется в continious memory по возможности

Google
Vyacheslav
17.04.2018
14:13:43
вопрос не размера, а то что в реальной работе дерево там не будет — его оттуда вымоет

Vsevolod
17.04.2018
14:14:07
если к нему постоянно обращаются, то не вымоет

Vyacheslav
17.04.2018
14:14:12
вымоет

Vsevolod
17.04.2018
14:14:19
но это проблема любого синтетического бенчмарка

я сравнивал эту реализацию trie с другими

и они были в 10-100 раз хуже

Vyacheslav
17.04.2018
14:14:43
зависит от объема остальных данных.

не уверен что continious memory даст что-то существенное

Vsevolod
17.04.2018
14:15:28
у nginx до сих пор чуваки делают 128 лукапов по дереву на каждый ipv6 адрес

это печально

Vyacheslav
17.04.2018
14:17:00
512 тыщ — это 2^19, если каждый будет пролетать момо кеша, то это примерно 19*200 тактов на лкуап, т.е. примерно 2мкс

Vsevolod
17.04.2018
14:18:03
ну, можно еще попробовать huge pages, чтобы получше был перефетч

но у меня это не узкое место ни разу

Google
Vsevolod
17.04.2018
14:18:27
раньше было хуже

Vyacheslav
17.04.2018
14:18:44
префетч от хьюджа считай не зависит

Vsevolod
17.04.2018
14:19:10
ну как не зависит - ты же не можешь префетчить больше, чем до page boundary

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

Vyacheslav
17.04.2018
14:23:46
шо?

ну даже если правда, то по дереву-то у тебя случайный доступ

Vsevolod
17.04.2018
14:26:39
что-то я как-то неправильно скорость лукапов меряю, надо по-другому

50,52% rspamd-test rspamd-test [.] btrie_lookup 14,70% rspamd-test [kernel.kallsyms] [k] syscall_return_via_sysret 9,77% rspamd-test [unknown] [k] 0xfffffe00000e201b всего 50% времени на поиск по дереву уходит

@solhov все-таки ни фига там в кеш не влазит

444 282 377 LLC-loads (49,99%) 183 285 556 LLC-load-misses # 41,25% of all LL-cache hits (49,99%)

Vyacheslav
17.04.2018
14:39:21
у тебя нет 8МБ кеша? ну или сколько там надо, с оверхедом

Vsevolod
17.04.2018
14:39:33
надо бы завязывать на лаптопе бенчмаркать, бгг

зато я сделал полезное наблюдение - в моем CSPRNG не отключена бессмысленная проверка getpid и check_state

Алексей
17.04.2018
14:45:03
Всем привет. Можете подсказать где можно почитать про значение метрик из таблиц system.events system.metrics и system.asynchronous_metrics ? В официальной документации информации почти нет :(

Alexander
17.04.2018
14:56:47
а как такое организовать?
https://clickhouse.yandex/docs/ru/table_engines/kafka/

Alexander
17.04.2018
15:06:54
Nick
17.04.2018
15:19:58
Подскажите, описанные в http://blog.gelin.ru/2017/03/clickhouse.html (и в комментах) проблемы еще актуальны? Хотим попробовать кликхаус для хранения разных метрик для мониторингов, но что-то много где пишут, что есть неочевидные нюансы

Stanislav
17.04.2018
15:31:07
А можно сюда написать, что для вас там именно проблема?

Google
Slach
17.04.2018
15:31:44
Подскажите, описанные в http://blog.gelin.ru/2017/03/clickhouse.html (и в комментах) проблемы еще актуальны? Хотим попробовать кликхаус для хранения разных метрик для мониторингов, но что-то много где пишут, что есть неочевидные нюансы
http://rascal.su/blog/2017/09/25/настраиваем-graphite-с-хранилищем-метрик-в-clickhouse/ для graphite стека вполне себе норм работает ну и приведенные "проблемы" IMHO не проблемы 1) таймаут вроде в JDBC починили, но надо проверять 2) большие батчи это неприменное условие архитектуры 3) есть https://github.com/Vertamedia/chproxy 4) https://clickhouse.yandex/docs/ru/data_types/datetime/

http://blog.gelin.ru/2017/03/clickhouse.html?google_comment_id=z13linuglniqs1jrp04ci5hbpzbudp3ww3g вот это вообще не знаю как комментировать люди либо сделали первичный ключ очень кривой и не имеющий отношения к запросам... и "адски медленным" это для них даже не знаю сколько... по сравнению с постгрей которая даже если все попадает в индекс, еще сначала должна этот индекс прокешировать в файловой системе и потом в шаред буферах...

Stanislav
17.04.2018
15:34:16
Для меня там проблема только целочисленность datetime - некоторые логи напрямую не сохранить.

Slach
17.04.2018
15:36:39
https://clickhouse.yandex/docs/ru/data_types/datetime/ там не целочисленность там перевод в часовой пояс сервера да это неудобно DateTime with TZ к сожалению нет в общем лучше настроить сервера с CH в UTC

Vyacheslav
17.04.2018
15:37:38
так всегда же можно в unixtime пихать

Alexey
17.04.2018
15:43:51
Для меня там проблема только целочисленность datetime - некоторые логи напрямую не сохранить.
вам все равно логи на колонки парсить надо, разбейте на секунды и миллисекунды в отдельные колонки

Slach
17.04.2018
15:52:11
Nick
17.04.2018
15:52:18
одна метостанция, там полторы сотни метрик, их можно разбить на пару таблиц по частоте обновления

Slach
17.04.2018
15:53:56
одна метостанция, там полторы сотни метрик, их можно разбить на пару таблиц по частоте обновления
ну даже полторы сотни метрик раз минуту полторы сотни колонок... метеостанция действительно одна? за 10 лет 5 миллионов строк это все ВЛАЗИТ в память вам не нужен clickhouse

Гаврилов
17.04.2018
15:55:10
а чем помешает кликхаус?)

он стоит как вертика?

или требует диких ресурсов?

он можно как микросервис запустить)

в докер контенейре

Slach
17.04.2018
15:55:48
а чем помешает кликхаус?)
=)) нет не помешает в общем можно и на CH ;)

Гаврилов
17.04.2018
15:55:53
зато нет проблем с подсчетом циферок

ch прост в использовании

Google
Slach
17.04.2018
15:56:44
в докер контенейре
ну в принципе делать то можно =) ну в общем можно не морочится и вставлять по одной длинной строке в минуту... проблем особы не будет

Гаврилов
17.04.2018
15:57:01
ну я вот тестировал 1 и тотже запрос

и уже на миллионе записей

была х20 разница

между постгрес и ch

Denis
17.04.2018
16:00:10
Разбираюсь с Segmentation fault в версиях выше 1.1.54327. <Error> ExternalDictionaries: Cannot create external dictionary from config path Poco::Exception. Code: 1000, e.code() = 2027, e.displayText() = mysqlxx::BadQuery: Malformed packet , e.what() = mysqlxx::BadQuery <Error> BaseDaemon: ######################################## <Error> BaseDaemon: (from thread 3) Received signal Segmentation fault (11). Проблема в общем в сети, mysql далеко (за океаном time=173 ms). Кликхаузов много, словарей сотни (и они довольно длинные и широкие). в err логе mysql все завалено Aborted connection NNN to db: 'db' user: 'user' host: 'xxxxx' (Got timeout reading communication packets) КХ падает через 10 сек. (после select * from system.dictionaries;) Все таймауты в percona на серверной стороне накрутил до 120сек. Не помогло. Где в КХ параметры клиентские для mysql выставить? я пробовал на клиенте (КХ) менять в /etc/mysql похоже КХ не использует оттуда. Версия 1.1.54327 не падает, работает с этой проблемой, любая след. версия валится Segmentation fault

Viktor
17.04.2018
16:33:35
Хай. Дока рекомендует: "Нужно всегда использовать performance scaling governor. ondemand scaling governor работает намного хуже при постоянно высоком спросе. sudo echo 'performance' | tee /sys/devices/system/cpu/cpu\*/cpufreq/scaling_governor" Есть у кого-то опыт тестирования двух режимов? Были ли подводные камни при переходе на performance?

Wolf
17.04.2018
16:34:34
Нет, просто на ондеманде намного ниже производительность, вообще почти везде по дефолту на серверах стоит перфоманс

Ондеманд редко очень встречается

molo4ko
17.04.2018
16:37:46
Случайно проапгрейдился кх (`:latest` ftw), теперь ```Poco::Exception. Code: 1000, e.code() = 13, e.displayText() = Access to file denied: /var/log/clickhouse-server/clickhouse-server.log, e.what() = Access to file denied ` что посоветуете?

molo4ko
17.04.2018
16:41:08
да, зашло, спасибо. жаль, что в ченджлог не попало это)

Атата
17.04.2018
16:42:09
molo4ko
17.04.2018
16:42:22
В смысле?

А, ну и прямота рук + :latest ?

Атата
17.04.2018
16:43:06
В контейнере клик?

?
17.04.2018
16:44:29
?

molo4ko
17.04.2018
16:44:45
Ну да

Атата
17.04.2018
16:48:32
Хорошо ))

Google
Kirill
17.04.2018
17:02:38
Ондеманд редко очень встречается
Нам сервера вообще с powersave приходят )

Wolf
17.04.2018
17:03:52
просто если в какой то момент мне не попались сервера с ондеманд я вообще бы не знал про эти режимы, так как всегда было перфоманс. а тут бац как то все в итоге в два раза медленее

Alexey
17.04.2018
17:20:11
Denis
17.04.2018
17:27:42
А есть стек трейс? Должен быть расположен чуть ниже.
вот тот что с прошлой недели https://pastebin.com/rxAUuWdA вот еще один https://pastebin.com/2mySjA9m на тестовом сервере воспроизводится со 100% на прошлой неделе я подозревал что дело в свежих ядрах (дебиан9), но похоже что там совпало, что 9е дебианы дальше от mysql чем 8-е

Denis
17.04.2018
17:30:56
это из обычных deb. Со своими тоже самое (собирал уже всяко разно, с разными ядрами и libc)

Viktor
17.04.2018
17:40:41
Хотелось бы задать ещё вопрос: чем обусловлено использование initd по крайней мере в el7.rpm’ах для сервера? Почему не systemd?

Alexey
17.04.2018
17:54:15
Malformed packet приводит к segfault в libmysqlclient или тут виновато что-то ещё - навскидку мне трудно сказать, в чём причина.

Хотелось бы задать ещё вопрос: чем обусловлено использование initd по крайней мере в el7.rpm’ах для сервера? Почему не systemd?
Можно спросить у @alexanderzaitsev Это third-party rpm пакеты. Я сам ничего не имею против использования init.d.

Denis
17.04.2018
17:59:44
Таймауты для MySQL словаря можно поставить рядом с db, host... в connect_timeout, rw_timeout. По-умолчанию, они равны 60 и 1800 (секунд).
рядом? а где рядом? в /etc/mysql.... ? поставил 1.1.54378 из стандартного деба, все тоже самое https://pastebin.com/XQXgK83U

Alexey
17.04.2018
18:04:50
В конфигурации словаря.

Denis
17.04.2018
18:23:14
OK. 60 и 1800 ничего не дадут, падает через 10сек. ровно. А как настраивать пул? в каком конфиге? и можно-ли его выключить? #define MYSQLXX_POOL_DEFAULT_START_CONNECTIONS 1 #define MYSQLXX_POOL_DEFAULT_MAX_CONNECTIONS 16 #define MYSQLXX_POOL_SLEEP_ON_CONNECT_FAIL 1

Alexey
17.04.2018
18:25:12
> падает через 10сек clickhouse-server завершается через 10 секунд после получения сигнала (segfault, abort и т. п.) - это сделано для того, чтобы отдельный поток успел записать информацию о сигнале в лог (именно эту информацию вы видите). Таким образом, 10 секунд, на которые вы обратили внимание, ничего не значат для расследования данной проблемы, и скорее всего, проблема возникает сразу же при запросе.

Страница 500 из 723