
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:52:35

Alexander
17.04.2018
14:56:47

Alexey
17.04.2018
15:00:10

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?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

Nick
17.04.2018
15:50:26

Tima
17.04.2018
15:51:44

Slach
17.04.2018
15:52:11

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

Slach
17.04.2018
15:53:56

Гаврилов
17.04.2018
15:55:10
а чем помешает кликхаус?)
он стоит как вертика?
или требует диких ресурсов?
он можно как микросервис запустить)
в докер контенейре

Slach
17.04.2018
15:55:48

Гаврилов
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
`
что посоветуете?

Атата
17.04.2018
16:38:30
chown clickhouse:clickhouse путь до файла

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

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

Kirill
17.04.2018
17:03:55

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-е

Alexey
17.04.2018
17:29:36

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 или тут виновато что-то ещё - навскидку мне трудно сказать, в чём причина.

Denis
17.04.2018
17:59:44

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 секунд, на которые вы обратили внимание, ничего не значат для расследования данной проблемы, и скорее всего, проблема возникает сразу же при запросе.