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

Кликхаус clickhouse/clickhouse-server:23.10.1 в кубере. Когда резко в моменте растет нагрузка

(например, в 40 клиентов какие-то запросы кидаются), кликхаус начинает есть ~0 CPU и все запросы просто зависают и потом отваливаются по таймауту, клиентом тоже не подключиться. При этом вроде как процесс не стопается (иначе бы перезагрузился под). Спасает только ручная перезагрузка. Подскажите, пожалуйста, куда можно посмотреть, какие настройки поменять?

В логах вроде как ничего сверхъестественного нет. На скрине пример просадки CPU, после ребута все возвращается в норму.

20 ответов

73 просмотра

вообще такое в гитхаб надо спрашивать но https://kb.altinity.com/altinity-kb-useful-queries/debug-hang/

limits / requests на pod стоят по CPU? если в limits упираетесь, тогда будет тротлинг

Andrey Tvorozhkov
Нет, не стоят

как clickhouse в кубах развернут? через clickhouse-operator ? или какой то кастомный helm chart а-ля bitnami?

Andrey-Tvorozhkov Автор вопроса
Slach [altinity]
как clickhouse в кубах развернут? через clickhouse...

Через helm чарт, но не уверен чей. Стейтфул сет выглядит вот так: https://gist.github.com/tvorogme/042954f5ecb7e24c930e40667aefc58f

поставьте 90%

Andrey-Tvorozhkov Автор вопроса
Andrey Tvorozhkov
А так падает

логи контейнера есть? что падает с каким сообщением? или просто pod в Pending переходит?

Andrey-Tvorozhkov Автор вопроса
Slach [altinity]
логи контейнера есть? что падает с каким сообщени...

Логи могу сдампить, сек. Нет, под Running, но никак не подключиться к кх. Даже если захожу в контейнер и использую clickhouse-client. Падает с timeout

а wget http://127.0.0.1:8123/ping внутри контейнера с clickhouse что показывает?

Andrey-Tvorozhkov Автор вопроса

Вот это спасает, т.е. действительно после запуска нагрузки оно отрабатывает и не скатывается в это странное состояние (вроде как, я заметил это совсем недавно)

Andrey Tvorozhkov
Вот это спасает, т.е. действительно после запуска ...

for i in $(ls -1 /proc/$(pidof clickhouse-server)/task/); do kill -TSTP $i; done

Andrey-Tvorozhkov Автор вопроса
Denny [Altinity]
for i in $(ls -1 /proc/$(pidof clickhouse-server)/...

Не помогает ^Croot@clickhouse-0:/# for i in $(ls -1 /proc/$(pidof clickhouse-server)/task/); do kill -TSTP $i; done root@clickhouse-0:/# clickhouse-client -u ... --password "...." ClickHouse client version 23.10.1.1976 (official build). Connecting to localhost:9000 as user mega. Connected to ClickHouse server version 23.10.1 revision 54466.

а сервер один? или воспроизводится? я бы проверил что в 23.8.5

Andrey-Tvorozhkov Автор вопроса
Denny [Altinity]
а сервер один? или воспроизводится? я бы проверил ...

Сервер один, я как раз обновил КХ до 23.10, чтобы проверить, с 23.8 там было так же

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Карта сайта