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

На скрине график LA по 4м шардам КХ. Подскажите, как

можно найти причину, почему неравномерная нагрузка? На бирюзовый запись не идет, и там понятно. Но почему красный вдруг стал недозагружен, а синий наоборот, в перегруз ушел. Речь идет о нагрузке по 150 LA на 40 ядрах. Т.е. совсем много

25 ответов

15 просмотров

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

кх не балансирует запросы, если вы все запросы посылаете в один сервер, то так и будет.

Сергей-Худояров Автор вопроса
Denny [Altinity]
кх не балансирует запросы, если вы все запросы пос...

запросы все посылаются через haproxy на сервер на котором отключена запись. Его сейчас будем выводить из кластера, и он как раз бирюзовый на графике, т.е. самый незагруженный. на скрине sda - raid10 из 4xhdd sdb - raid1 из 2x ssd , используется как hot-storage для партов меньше 15гб

Сергей Худояров
screenshot запросы все посылаются через haproxy на сервер на ...

я бы смотрел system.query_log, сравнивал какие запросы сколько обрабатывают и куда прилетают, скорее всего есть перекос

Сергей-Худояров Автор вопроса
Denny [Altinity]
я бы смотрел system.query_log, сравнивал какие зап...

простите, а как это делать? есть ли какие нибудь готовые шаблоны запросов, чтобы проверить? запросов за час выполняется одинаково количество (60К) на проблемном и здоровом шарде. Есть какие-нибудь инструменты для сравнения? На что обращать внимание?

Сергей-Худояров Автор вопроса
Dmitry [Altinity] Titov
https://kb.altinity.com/altinity-kb-useful-queries...

спасибо! Помогите понять, за что можно зацепиться чтоб снизить нагрузку? Ощущение что он действительно ему нужно столько cpu. Но на другом шарде, где проц в 2 раза слабее, а данных в 15 раз больше - нет таких тормозов. https://pastila.nl/?0005d2e9/ed5ede3b69562298887490ac39f251f8#hKB7arscRuBWDu+7g5nLfA==

Сергей Худояров
screenshot спасибо! Помогите понять, за что можно зацепиться ...

судя по количеству читаемых данных надо бы индексов или со структурой поиграться

Сергей-Худояров Автор вопроса
Nick
судя по количеству читаемых данных надо бы индексо...

у меня здесь мало опыта. Может есть возможность платной консультации?

Сергей Худояров
у меня здесь мало опыта. Может есть возможность пл...

это надо с аналитиками или разрабами садиться, брать их запросы и разбираться что может помочь - работенка для полноценного дба в штате. От себя разве что могу посоветовать поразбирать что у клика по индексации https://clickhouse.com/docs/en/optimize/sparse-primary-indexes и https://clickhouse.com/docs/en/optimize/skipping-indexes У самого опыта не густо

Сергей Худояров
screenshot спасибо! Помогите понять, за что можно зацепиться ...

а какие сейчас primary key, order by и partition by на табличке buyouts_new_local? ну и есть ли другие индексы на ней

Сергей Худояров
screenshot спасибо! Помогите понять, за что можно зацепиться ...

и например хорошо бы разобраться почему у вас запросы возвращают 2.8кк строк (хеш с пастилы 14521524250897953175)

Сергей-Худояров Автор вопроса
Nick
а какие сейчас primary key, order by и partition b...

CREATE TABLE rtb_shard_new.buyouts_new_local ( ... ) ENGINE = MergeTree PARTITION BY toYYYYMMDD(buyout_date_time) ORDER BY (req_ssp_id, resp_dsp_id, req_site_id, resp_algorithm_id, resp_cpc_feed_id, resp_block_id, req_device_os, req_device_browser, req_device_osv, req_device_browser_v, req_sub_days, resp_seat_bid_bid_id, resp_seat_bid_bid_imp_id, resp_seat_bid_bid_price, resp_seat_bid_bid_nurl, resp_seat_bid_bid_burl, resp_seat_bid_bid_lurl, resp_seat_bid_bid_adm, resp_seat_bid_bid_ad_id, resp_seat_bid_bid_a_domain, resp_seat_bid_bid_bundle, resp_seat_bid_bid_iurl, resp_seat_bid_bid_cid, resp_seat_bid_bid_crid, resp_seat_bid_bid_tactic, resp_seat_bid_bid_cat, resp_seat_bid_bid_attr, resp_seat_bid_bid_api, req_site_name, resp_interests, resp_source, req_user_id, resp_new_id, resp_buying_type_id, req_ad_types, req_ad_output_type, resp_gender, req_sid_1, req_sid_2, req_sid_3, req_sid_4, req_sid_5, req_sid_6, req_sid_7, req_sid_8, req_sid_9, req_sid_10, req_sid_11, req_sid_12, req_sid_13, req_sid_14, req_sid_15, resp_top_id, resp_user_id, resp_campaign_id, req_site_news_id) SETTINGS index_granularity = 8192

Сергей-Худояров Автор вопроса
Nick
и например хорошо бы разобраться почему у вас запр...

скорее всего туда можно прикрутить MV, буду курить эту тему

Сергей Худояров
CREATE TABLE rtb_shard_new.buyouts_new_local ( ......

выкиньте все, оставьте только buyout_date_time

Сергей Худояров
CREATE TABLE rtb_shard_new.buyouts_new_local ( ......

так а в WHERE у вас что и что explain показывает по использованию партов и индексов?

Сергей-Худояров Автор вопроса
Nick
выкиньте все, оставьте только buyout_date_time

можно ли ключ сортировки менять наживую?

Сергей-Худояров Автор вопроса
Sergey Platonov
так а в WHERE у вас что и что explain показывает ...

https://gist.github.com/hsv000/1a6209efc329fc3e26887420e23d823e explain еще не делал

Сергей Худояров
CREATE TABLE rtb_shard_new.buyouts_new_local ( ......

в таком количества полей в сортировке нет смысла каждая следующая делается внутри предыдущей

Сергей-Худояров Автор вопроса

а в чем нюансы?

Сергей Худояров
https://gist.github.com/hsv000/1a6209efc329fc3e268...

buyout_date_time - возможно будет достаточно построить по нему партиционирование req_ad_type и resp_dsp_id в сортировки clicks_coeffs - если не большая лучше сделать с движком джойн

Сергей-Худояров Автор вопроса
Sergey Platonov
buyout_date_time - возможно будет достаточно постр...

спасибо, передам разрабам. будем думать

Сергей Худояров
а в чем нюансы?

https://fiddle.clickhouse.com/1d97917b-d149-4c8d-b65d-089954af8ee9

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта