Доброго дня!
Периодически наблюдается картина увеличения кол-ва воркеров и не выполняются запросы. Помогает только рестарт сервиса. Есть предположение что проблема в одном RT-индексе, поскольку в момент зависания запрос SHOW INDEX name STATUS
проходил по всем RT-индексам, кроме одного (на нем был TIMEOUT).
В query.log в период простоя логов нет (видно по разнице времени последнего запроса перед зависанием и первым после рестарта)
Zabbix показывает постепенное снижение нагрузки на CPU перед зависанием до минимальных и остается на том же уровне (до рестарта). По RAM в этот период соответственно наблюдается постепенное снижение объема данных.
Версия Manticore: Manticore 5.0.2 348514c86@220530 dev (columnar 1.15.4 2fef34e@220522) (secondary 1.15.4 2fef34e@220522)
RT-индекс:
index active_item
{
type = rt
rt_mem_limit = 4096M
path = /var/lib/manticore/data/active_item
# подключение файла с синонимами
exceptions = /etc/manticoresearch/synonyms.txt
wordforms = /etc/manticoresearch/wordforms.txt
stopwords = /etc/manticoresearch/stopwords.txt
# Индекс с учетом морфологии
morphology = stem_enru
# morphology = lemmatize_ru, lemmatize_en
# Минимальная длина слова для индексации
min_word_len = 1
# Поиск будет по фрагменту слова. Проиндексируем фрагменты вплоть до 3 букв
min_infix_len = 3
# Искать похожие слова
# expand_keywords = 1
# Индексироват изначальноую форму слова
index_exact_words = 1
# Удаляем html теги
html_strip = 1
# приводим все к нижнему регистру
charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+401->U+0435, U+451->U+0435
# индексировать полностью целые числа
# blend_chars = +, &, U+2C, U+2E
# приводим запяты к точкам
# regexp_filter = (\d+)\,(\d+) => \1.\2
# FULLTEXT
rt_field = stock_name # Наименование шаблона
rt_field = purchase_name # Наименование выкупа
rt_field = category_name # Наименование категрии
rt_field = catalog_name # Наименование категрии
rt_field = item_name # Наименование товара
rt_field = article # Артикль
rt_field = item_desc # Описание товара
rt_field = characteristic # Ключи характеристик
rt_field = tags_name # Значения тегов
rt_field = category_keyword # Ключевые слова
rt_field = product_name # Название продукта
rt_field = trade_mark_id_search2 # /TODO после вылива на прод удалить trade_mark_id_search и этот переименовать
stored_fields = stock_name, purchase_name, category_name, catalog_name, item_name, article, item_desc, characteristic, tags_name, category_keyword, product_name, trade_mark_id_search2
# ATTRIBUTE
rt_attr_uint = item_id # ID товара
rt_attr_uint = stock_id # ID шаблона
rt_attr_uint = purchase_id # ID выкупа
rt_attr_uint = delivery_time # время доставки
rt_attr_uint = purchase_state_id # Статус закупки
rt_attr_uint = category_id # ID категории
rt_attr_uint = catalog_id # ID категории
rt_attr_uint = org_id # ID организатора
rt_attr_float = item_price # Цена товара
rt_attr_float = item_sale # Скидка на товар
rt_attr_float = item_org_fee # Орг сбор
rt_attr_float = item_price_full # Цена товара
rt_attr_json = characteristic_ids # Ключи характеристик
rt_attr_json = tags_id # Ключи характеристик(сделано специально JSON поскольку индексируются слова >= 3 символа)
rt_attr_uint = cnt_order # Количество заказов
rt_attr_bigint = consumer_rating # Рейтинг пользователя
rt_attr_bool = is_adult # 18+
rt_attr_bool = is_bundle # Наличие рядов
rt_attr_float = bundle_coef # Общий коэффициент заполненности рядов
rt_attr_json = bundle_characteristic_coef # Коэффициент заполенности ряда отдельно по каждой характеристике
rt_attr_bool = is_market # Пристрой
rt_attr_uint = product_id # ID продукта
rt_attr_uint = trade_mark_id # ID бренда/торговой марки
rt_attr_uint = trade_mark_id_search # ID бренда/торговой для поиска
rt_attr_float = product_avg_rating # средний рейтинг продукта содержащего товар
rt_attr_uint = product_review_count # количество отзывов продукта содержащего товар
}
Данные по запросу SHOW STATUS во время зависания:
uptime 410834
connections 297714
maxed_out 0
version 5.0.2 348514c86@220530 dev (columnar 1.15.4 2fef34e@220522) (secondary 1.15.4 2fef34e@220522)
mysql_version 5.0.2 348514c86@220530 dev (columnar 1.15.4 2fef34e@220522) (secondary 1.15.4 2fef34e@220522)
command_search 7218900
command_excerpt 0
command_update 209801
command_keywords 0
command_persist 0
command_status 8
command_flushattrs 0
command_sphinxql 0
command_ping 0
command_delete 1235150
command_set 117
command_insert 0
command_replace 843867
command_commit 0
command_suggest 611780
command_json 0
command_callpq 0
command_cluster 0
command_getfield 0
agent_connect 0
agent_tfo 0
agent_retry 0
queries 8034309
dist_queries 0
workers_total 128
workers_active 972
workers_clients 972
workers_clients_vip 0
work_queue_length 987
query_wall 242963.680
query_cpu OFF
dist_wall 0.000
dist_local 0.000
dist_wait 0.000
query_reads OFF
query_readkb OFF
query_readtime OFF
avg_query_wall 0.030
avg_query_cpu OFF
avg_dist_wall 0.000
avg_dist_local 0.000
avg_dist_wait 0.000
avg_query_reads OFF
avg_query_readkb OFF
avg_query_readtime OFF
qcache_max_bytes 16777216
qcache_thresh_msec 3000
qcache_ttl_sec 60
qcache_cached_queries 0
qcache_used_bytes 0
qcache_hits 133
uptime 51944
connections 36567
maxed_out 0
version 5.0.2 348514c86@220530 dev (columnar 1.15.4 2fef34e@220522) (secondary 1.15.4 2fef34e@220522)
mysql_version 5.0.2 348514c86@220530 dev (columnar 1.15.4 2fef34e@220522) (secondary 1.15.4 2fef34e@220522)
command_search 805375
command_excerpt 0
command_update 24920
command_keywords 0
command_persist 0
command_status 9
command_flushattrs 0
command_sphinxql 0
command_ping 0
command_delete 159947
command_set 24
command_insert 0
command_replace 166003
command_commit 0
command_suggest 65636
command_json 0
command_callpq 0
command_cluster 0
command_getfield 0
agent_connect 0
agent_tfo 0
agent_retry 0
queries 909452
dist_queries 0
workers_total 128
workers_active 877
workers_clients 877
workers_clients_vip 0
work_queue_length 891
query_wall 19649.231
query_cpu OFF
dist_wall 0.000
dist_local 0.000
dist_wait 0.000
query_reads OFF
query_readkb OFF
query_readtime OFF
avg_query_wall 0.021
avg_query_cpu OFF
avg_dist_wall 0.000
avg_dist_local 0.000
avg_dist_wait 0.000
avg_query_reads OFF
avg_query_readkb OFF
avg_query_readtime OFF
qcache_max_bytes 16777216
qcache_thresh_msec 3000
qcache_ttl_sec 60
qcache_cached_queries 0
qcache_used_bytes 0
qcache_hits 0
Состояние RT-индекса в рабочем состоянии:
Column 1 | Column 2 |
---|---|
index_type | rt |
indexed_documents | 1590074 |
indexed_bytes | 2608887673 |
ram_bytes | 1915003721 |
disk_bytes | 3438452700 |
disk_mapped | 437748535 |
disk_mapped_cached | 437760000 |
disk_mapped_doclists | 0 |
disk_mapped_cached_doclists | 0 |
disk_mapped_hitlists | 0 |
disk_mapped_cached_hitlists | 0 |
killed_documents | 202208 |
killed_rate | 12.71% |
ram_chunk | 1477237209 |
ram_chunk_segments_count | 25 |
disk_chunks | 1 |
mem_limit | 4294967296 |
mem_limit_rate | 95.00% |
ram_bytes_retired | 0 |
tid | 421151 |
tid_saved | 416850 |
query_time_1min | {queries:1027, avg_sec:0.003, min_sec:0.000, max_sec:0.094, pct95_sec:0.019, pct99_sec:0.052} |
query_time_5min | {queries:3864, avg_sec:0.003, min_sec:0.000, max_sec:0.205, pct95_sec:0.017, pct99_sec:0.039} |
query_time_15min | {queries:12166, avg_sec:0.003, min_sec:0.000, max_sec:0.893, pct95_sec:0.016, pct99_sec:0.039} |
query_time_total | {queries:138720, avg_sec:0.003, min_sec:0.000, max_sec:1.153, pct95_sec:0.013, pct99_sec:0.046} |
found_rows_1min | {queries:1027, avg:3926, min:0, max:964920, pct95:8831, pct99:83196} |
found_rows_5min | {queries:3864, avg:6177, min:0, max:991612, pct95:7660, pct99:332376} |
found_rows_15min | {queries:12166, avg:5587, min:0, max:991612, pct95:6333, pct99:278192} |
found_rows_total | {queries:138720, avg:4785, min:0, max:1417249, pct95:6159, pct99:21608} |
По логам последний запрос перед зависанием был ~ в 7:00. Рестарт был ~ в 7:30
Zabbix - CPU
Zabbix - RAM