Распухает по объему RT-индекс

Доброго времени суток.
Сервер:

Процессор: AMD EPYC 7763 (64x2.45 ГГц SMT)
Память: 64 ГБ — 4 × 16 ГБ DDR4 ECC Reg
Диски:
1000 ГБ SSD NVMe M.2 (под Manticore)
2 × 480 ГБ SSD SATA Enterprise
ОС: Ubuntu 22.04.3 LTS

Manticore 6.3.6, установленные пакеты:

manticore-backup/jammy,now 1.3.8-24052208-57fc406 all [установлен]
manticore-buddy/jammy,now 2.3.12-24071807-45f6b91 all [установлен]
manticore-columnar-lib/jammy,now 2.3.0-24052206-88a01c3 amd64 [установлен]
manticore-common/jammy,now 6.3.6-24080214-593045790 all [установлен, автоматически]
manticore-dev/jammy,now 6.3.6-24080214-593045790 all [установлен]
manticore-executor/jammy,now 1.1.12-24071807-0565a65 amd64 [установлен]
manticore-galera/jammy,now 3.37 amd64 [установлен]
manticore-icudata-65l/jammy,now 5.0.3-221123-d2d9e5e56 all [установлен]
manticore-server-core/jammy,now 6.3.6-24080214-593045790 amd64 [установлен]
manticore-server/jammy,now 6.3.6-24080214-593045790 amd64 [установлен]
manticore-tools/jammy,now 6.3.6-24080214-593045790 amd64 [установлен]
manticore-tzdata/jammy,now 1.0.0-240522-a8aa66e all [установлен, автоматически]
manticore/jammy,now 6.3.6-24080214-593045790 amd64 [установлен]

Индексы rt:

+-------------------------------+------+
| Index                         | Type |
+-------------------------------+------+
| bindings                      | rt   |
| categories                    | rt   |
| ekns                          | rt   |
| literature_work_cycle_volumes | rt   |
| literature_work_cycles        | rt   |
| persons                       | rt   |
| product_collections           | rt   |
| product_properties_values     | rt   |
| product_tags                  | rt   |
| products                      | rt   |
| products_for_autocorrect      | rt   |
| publisher_brands              | rt   |
| publisher_series              | rt   |
| publishers                    | rt   |
| shops                         | rt   |
| tbks                          | rt   |
+-------------------------------+------+
16 rows in set (0,00 sec)

Схема индекса products:

products
-- !!! Добавляешь поля? не забудь добавить в api/src/Model/Product/RetailProduct/Resources/manticore/retail_products.sql
CREATE TABLE IF NOT EXISTS products(
   id int, -- Идентификатор товара
   name text stored, -- Название товара
   slug text stored, -- Slug для товара
   image string, -- Обложка (основное изображение товара) - относительная ссылка

   price_retail float, -- Розничная цена товара

   marketing_status_list multi, -- Список маркетинговых статусов: «Новинка», «Бестселлер», «Рекомендуем», «Эксклюзив», «Распродажа»

   availability_status int, -- Признак доступности товара (наличие/предзаказ/информационная)
   availability_quantity int, -- Количество доступное для покупки

   vendor_id int, -- Идентификатор вендора (как сущность не существует - только для сервиса скидок)
   nds int, -- НДС, %

   description text stored, -- Описание товара
   selling_text text stored, -- Продающий текст
   reasons_to_buy_list json, -- Список причин купить

   literature_work_publishing_year int, -- Год издания произведения
   preorder_available_at timestamp, -- Дата предзаказа
   released_at timestamp, -- Дата релиза
   created_at timestamp, -- Дата создания карточки товара
   updated_at timestamp, -- Дата изменения карточки товара

   isbns string, -- Список ISBN, разделенных запятой

   printing_page_count int, -- Количество страниц в книге
   printing_page_format string, -- Размер/формат книги
   printing_copy_count int, -- Тираж (количество копий книги)

   weight int, -- Вес в граммах
   height int, -- Высота в мм
   width int, -- Ширина в мм
   length int, -- Длина (толщина) в мм

   excerpts json, -- Отрывки книги (упорядоченный список объектов, поля: тип файла, относительная ссылка)
   additional_images text stored, -- Дополнительные изображения товара (упорядоченные относительные ссылки через запятую)

   rating_average float, -- Общая пользовательская оценка
   rating_weight int, -- Расчетное значение для сортировки "С высокой оценкой"
   rating_star int, -- Пользовательская оценка в "звездочках"
   rating_count int, -- Количество оценок
   review_count int, -- Количество отзывов

   purchase_stats_day_avg_count int, -- Среднее количество продаж за день в последние 180 дней (умноженное на 1000)

   sales_stat_year_turnover_amount_without_vat float, -- Товарооборот в рублях без НДС за год
   sales_stat_year_turnover_quantity int, -- Товарооборот в штуках за год
   sales_stat_year_markup float, -- Маржинальность/наценка в процентах за год, рассчитывается как валовый доход в рублях, деленный на товарооборот с НДС в рублях и умноженный на 100

   sales_stat_half_year_turnover_amount_without_vat float, -- Товарооборот в рублях без НДС за полгода
   sales_stat_half_year_turnover_quantity int, -- Товарооборот в штуках за полгода
   sales_stat_half_year_markup float, -- Маржинальность/наценка в процентах за полгода, рассчитывается как валовый доход в рублях, деленный на товарооборот с НДС в рублях и умноженный на 100

   sales_stat_quarter_turnover_amount_without_vat float, -- Товарооборот в рублях без НДС за квартал
   sales_stat_quarter_turnover_quantity int, -- Товарооборот в штуках за квартал
   sales_stat_quarter_markup float, -- Маржинальность/наценка в процентах за квартал, рассчитывается как валовый доход в рублях, деленный на товарооборот с НДС в рублях и умноженный на 100

   sales_stat_month_turnover_amount_without_vat float, -- Товарооборот в рублях без НДС за месяц
   sales_stat_month_turnover_quantity int, -- Товарооборот в штуках за месяц
   sales_stat_month_markup float, -- Маржинальность/наценка в процентах за месяц, рассчитывается как валовый доход в рублях, деленный на товарооборот с НДС в рублях и умноженный на 100

   school_grade_id_list multi, -- Список идентификаторов классов
   school_subject_id_list multi, -- Список идентификаторов предмета
   school_material_type_id_list multi, -- Список идентификаторов типа материала
   school_exam_id_list multi, -- Список идентификаторов экзаменов
   school_education_system_id_list multi, -- Список идентификаторов систем обучения
   school_umk_id_list multi, -- Список идентификаторов УМК
   school_umk_title text indexed stored, -- Список названий УМК
   school_exam_year_id_list multi, -- Список идентификаторов годов экзаменов
   school_purpose_id_list multi, -- Список идентификаторов назначений учебной литературы

   seo_title string, -- Заголовок страницы для SEO
   seo_description text stored, -- Описание страницы для SEO

   main_category_id_list multi, -- Список идентификаторов основных категорий товара для построения ХК - всех, начиная с исходной (ссылка на categories)
   category_id_list multi, -- Список идентификаторов категорий товара для фильтрации - всех, начиная с исходной (ссылка на categories)
   tbk_id_list multi, -- Список идентификаторов ТБК - всех, начиная с исходной (ссылка на tbk)
   ekn_id_list multi, -- Список идентификаторов ЕКН - всех, начиная с исходной (ссылка на ekn)

   author_id_list multi, -- Список идентификаторов авторов (ссылка на persons)
   translator_id_list multi, -- Список идентификаторов переводчиков (ссылка на persons)
   illustrator_id_list multi, -- Список идентификаторов иллюстраторов (ссылка на persons)

   publisher_series_id int, -- Идентификатор серии (ссылка на publisher_series)
   publisher_id int, -- Идентификатор издательства (ссылка на publishers)
   publisher_brand_id int, -- Идентификатор издательского брэнда (ссылка на publisher_brands)
   manufacturer_brand_id int, -- Идентификатор брэнда производителя (ссылка на publisher_brands)

   literature_work_cycle_id int, -- Идентификатор книжного цикла (ссылка на literature_work_cycles)
   literature_work_cycle_volume_id int, -- Идентификатор тома книжного цикла (ссылка на literature_work_cycle_volumes)
   age_restriction bigint, -- Возрастное ограничение - прямо значение в годах (bigint т.к. int не умеет в отрицательные числа)
   binding_id int, -- Идентификатор типа переплета (ссылка на bindings)
   tag_id_list multi, -- Список идентификаторов тегов/подборок (ссылка на tags)

   product_set_id_list multi, -- Связь с наборами товаров

   author_full_name_list text indexed stored, -- Список полных имем авторов (для фильтрации подсказок фасета)
   publisher_series_name text indexed stored, -- Название книжной серии (для фильтрации подсказок фасета)
   publisher_name text indexed stored, -- Название издательства (для фильтрации подсказок фасета)
   publisher_brand_name text indexed stored, -- Название издательского бренда (для фильтрации подсказок фасета)
   manufacturer_brand_name text indexed stored, -- Название брэнда производителя (для фильтрации подсказок фасета)

   product_type_id int, -- Идентификатор типа товара
   article_number_id int, -- Идентификатор артикула товара

   stationery_brush_shape_id_list multi, -- Список идентификаторов форм кисти (для канцелярских товаров)
   stationery_brush_material_id_list multi, -- Список идентификаторов материалов кисти (для канцелярских товаров)
   stationery_brush_number_id_list multi, -- Список идентификаторов номеров кисти (для канцелярских товаров)
   stationery_painting_technique_id_list multi, -- Список идентификаторов техник рисования (для канцелярских товаров)
   stationery_lead_hardness_id_list multi, -- Список идентификаторов твердости грифеля (для канцелярских товаров)
   stationery_format_id_list multi, -- Список идентификаторов форматов канцелярского товара
   stationery_line_type_id_list multi, -- Список идентификаторов видов линовки канцелярского товара
   stationery_ink_color_id_list multi, -- Список идентификаторов цветов чернил канцелярского товара
   stationery_lead_diameter_id_list multi, -- Список идентификаторов диаметров грифеля канцелярского товара
   stationery_case_shape_id_list multi, -- Список идентификаторов форм корпуса канцелярского товара
   stationery_mechanism_type_id_list multi, -- Список идентификаторов типов механизма канцелярского товара
   stationery_diameter_id_list multi, -- Список идентификаторов диаметров грифеля канцелярского товара
   stationery_feature_id_list multi, -- Список идентификаторов особенностей канцелярского товара
   stationery_colors_quantity_id_list multi, -- Список идентификаторов количества цветов канцелярского товара
   stationery_gender_id_list multi, -- Список идентификаторов гендерных признаков канцелярского товара
   stationery_length_id_list multi, -- Список идентификаторов длины канцелярского товара
   stationery_staple_number_id_list multi, -- Список идентификаторов № скоб степлера
   stationery_stapler_number_id_list multi, -- Список идентификаторов № степлера
   stationery_material_id_list multi, -- Список идентификаторов материалов канцелярского товара
   stationery_punched_sheets_quantity_id_list multi, -- Список идентификаторов количества пробиваемых степлером листов
   stationery_pen_thickness_id_list multi, -- Список идентификаторов толщины пера
   stationery_mounting_type_id_list multi, -- Список идентификаторов типов крепления канцелярского товара
   stationery_pen_tip_shape_id_list multi, -- Список идентификаторов формы наконечника пера
   stationery_ink_base_id_list multi, -- Список идентификаторов основ чернил канцелярского товара
   stationery_calculator_capacity_id_list multi, -- Список идентификаторов разрядности калькулятора
   stationery_calendar_year_id_list multi, -- Список идентификаторов годов календаря
   stationery_calendar_type_id_list multi, -- Список идентификаторов видов календаря
   stationery_calendar_subject_id_list multi, -- Список идентификаторов тематик календаря
   stationery_clasp_type_id_list multi, -- Список идентификаторов типов застежек канцелярского товара
   stationery_compartments_quantity_id_list multi, -- Список идентификаторов количества отделений канцелярского товара
   stationery_cover_binding_id_list multi, -- Список идентификаторов переплетов обложки канцелярского товара
   stationery_package_type_id_list multi, -- Список идентификаторов типов упаковки канцелярского товара
   stationery_cover_surface_id_list multi, -- Список идентификаторов поверхностей обложки канцелярского товара
   stationery_universal_id_list multi, -- Список идентификаторов вселенных канцелярского товара
   stationery_sheets_quantity_id_list multi, -- Список идентификаторов количества листов канцелярского товара
   stationery_color_id_list multi, -- Список идентификаторов цветов канцелярского товара
   stationery_volume_id_list multi, -- Список идентификаторов объемов канцелярского товара

   comic_universal_id_list multi, -- Список идентификаторов вселенных комикса
   comic_character_id_list multi, -- Список идентификаторов персонажей комикса
   comic_genre_id_list multi, -- Список идентификаторов жанра комикса
   comic_series_id_list multi, -- Список идентификаторов серий комикса
   comic_type_id_list multi, -- Список идентификаторов типов комикса
   comic_line_id_list multi, -- Список идентификаторов линеек комикса
   comic_section_id_list multi, -- Список идентификаторов разделов комикса
   comic_subject_id_list multi, -- Список идентификаторов тематик комикса

   game_player_quantity_id_list multi, -- Список идентификаторов количества игроков
   game_use_case_id_list multi, -- Список идентификаторов применения (семейная, для компании и т.д.)
   game_skill_id_list multi, -- Список идентификаторов тренируемых навыков
   game_audience_id_list multi, -- Список идентификаторов аудиторий игры
   game_child_age_id_list multi, -- Список идентификаторов возрастов детей для игры
   game_series_id_list multi, -- Список идентификаторов серий игр
   game_duration_id_list multi, -- Список идентификаторов длительности игры

   constructor_detail_quantity_id_list multi, -- Список идентификаторов количества деталей конструктора
   constructor_nation_id_list multi, -- Список идентификаторов наций конструктора
   constructor_equipment_type_id_list multi, -- Список идентификаторов видов техники конструктора

   souvenir_reason_id_list multi, -- Список идентификаторов повода для покупки
   souvenir_format_id_list multi, -- Список идентификаторов размерjd сувенира
   souvenir_set_quantity_id_list multi, -- Список идентификаторов количества товаров в сувенирном наборе

   toy_type_id_list multi, -- Список идентификаторов видов фигурки
   toy_height_id_list multi, -- Список идентификаторов высоты фигурки

   gift_hobby_id_list multi, -- Список идентификаторов увлечений и хобби для подарков
   gift_for_children_id_list multi, -- Список идентификаторов идей подарков для детей
   gift_new_year_id_list multi, -- Список идентификаторов идей подарков к Новому году
   gift_section_id_list multi, -- Список идентификаторов разделов подарков
   gift_books_on_interest_id_list multi, -- Список идентификаторов наборов книг по интересам для подарка

   product_collection_id_list multi, -- Список идентификаторов коллекций товаров (это НЕ подборки и НЕ теги, а отдельное произвольное свойство, без бизнесовых связей)

   active_shops_id_list multi, -- Список идентификаторов активных магазинов, где товар доступен к продаже
   active_cities_id_list multi, -- Список идентификаторов городов с активными магазинами, где доступен к продаже
   active_shop_brands_id_list multi, -- Список идентификаторов брендов активных магазинов, где доступен к продаже

   all_shops_id_list multi, -- Список идентификаторов всех магазинов, где товар присутствует (но не факт, что доступен для продажи)
   all_cities_id_list multi, -- Список идентификаторов городов с любыми магазинами, где товар присутствует (но не факт, что доступен для продажи)
   all_shop_brands_id_list multi, -- Список идентификаторов брендов любых магазинов, где товар присутствует (но не факт, что доступен для продажи)

   videos json, -- Список ссылок на видео
   attended_foreign_agents json, -- Список иноагентов, участвовавших в создании товара

   synchronized_at timestamp -- Дата синхронизации товара с внешними источниками !!!Поле остается последним в схеме!!!
-- !!! Добавляешь поля? не забудь добавить в api/src/Model/Product/RetailProduct/Resources/manticore/retail_products.sql
)
charset_table='0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, U+0451->U+0435, U+401->U+0435, U+451->U+0435'
ignore_chars='U+002E, U+002D, U+005C'
index_exact_words='1'
expand_keywords='1'
min_prefix_len='3'
min_word_len='1'
min_stemming_len='4'
morphology='lemmatize_ru_all, lemmatize_en_all'
;

Все индексы:

100K    /ssd/lib/manticore/categories
76K     /ssd/lib/manticore/product_tags
132K    /ssd/lib/manticore/products_new
304K    /ssd/lib/manticore/ekns
128K    /ssd/lib/manticore/products_old
11G     /ssd/lib/manticore/products
52K     /ssd/lib/manticore/publisher_brands
4,1M    /ssd/lib/manticore/literature_work_cycles
472K    /ssd/lib/manticore/tbks
1,4M    /ssd/lib/manticore/publishers
16K     /ssd/lib/manticore/bindings
13M     /ssd/lib/manticore/publisher_series
224K    /ssd/lib/manticore/product_collections
108K    /ssd/lib/manticore/shops
1,1M    /ssd/lib/manticore/product_properties_values
11G     /ssd/lib/manticore/products_for_autocorrect
88M     /ssd/lib/manticore/persons
668K    /ssd/lib/manticore/literature_work_cycle_volumes
21G     /ssd/lib/manticore/

Проблема:
Неприлично распухает по объему RT-индекс products.

С начала создания его объем ~2-2.1G (так же в stage).
Затем его объем достиг 25G - это не нормально, т.к. и такого объема данных там нет.
Сделали ALTER (добавили 1 колонку COLUMN updated_at timestamp) на копии индекса (через CREATE TABLE) и последующий RENAME.

Через какое-то время начались проблемы с Manticore - периодически CPU в 100%, утилизация по диску очень высокая и недоступность Manticore - исключала все индексы из конфигурации и отклоняла все подключения.
Вот что было в логах:

searchd.log
[Wed Dec  4 22:35:43.217 2024] [989661] watchdog: main process 989662 forked ok
[Wed Dec  4 22:35:43.233 2024] [989662] Using local time zone '/etc/localtime'
[Wed Dec  4 22:35:43.238 2024] [989662] starting daemon version '6.3.6 593045790@24080214 (columnar 2.3.0 88a01c3@24052206) (secondary 2.3.0 88a01c3@24052206) (knn 2.3.0 88a01c3@24052206)' ...
[Wed Dec  4 22:35:43.238 2024] [989662] listening on 10.9.2.29:9312 for sphinx and http(s)
[Wed Dec  4 22:35:43.238 2024] [989662] listening on 10.9.2.29:9306 for mysql
[Wed Dec  4 22:35:43.238 2024] [989662] listening on 10.9.2.29:9308 for sphinx and http(s)
[Wed Dec  4 22:35:43.303 2024] [989663] WARNING: table 'publishers': disabled at the JSON config
[Wed Dec  4 22:35:43.303 2024] [989663] WARNING: table 'publishers': prealloc: failed to lock /ssd/lib/manticore/publishers/publishers.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.303 2024] [989663] WARNING: table 'publisher_brands': disabled at the JSON config
[Wed Dec  4 22:35:43.303 2024] [989663] WARNING: table 'publisher_brands': prealloc: failed to lock /ssd/lib/manticore/publisher_brands/publisher_brands.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'literature_work_cycles': disabled at the JSON config
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'literature_work_cycles': prealloc: failed to lock /ssd/lib/manticore/literature_work_cycles/literature_work_cycles.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'literature_work_cycle_volumes': disabled at the JSON config
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'literature_work_cycle_volumes': prealloc: failed to lock /ssd/lib/manticore/literature_work_cycle_volumes/literature_work_cycle_volumes.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'bindings': disabled at the JSON config
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'bindings': prealloc: failed to lock /ssd/lib/manticore/bindings/bindings.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'persons': disabled at the JSON config
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'persons': prealloc: failed to lock /ssd/lib/manticore/persons/persons.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'publisher_series': disabled at the JSON config
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'publisher_series': prealloc: failed to lock /ssd/lib/manticore/publisher_series/publisher_series.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'categories': disabled at the JSON config
[Wed Dec  4 22:35:43.304 2024] [989663] WARNING: table 'categories': prealloc: failed to lock /ssd/lib/manticore/categories/categories.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'tbks': disabled at the JSON config
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'tbks': prealloc: failed to lock /ssd/lib/manticore/tbks/tbks.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'shops': disabled at the JSON config
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'shops': prealloc: failed to lock /ssd/lib/manticore/shops/shops.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'ekns': disabled at the JSON config
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'ekns': prealloc: failed to lock /ssd/lib/manticore/ekns/ekns.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'product_tags': disabled at the JSON config
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'product_tags': prealloc: failed to lock /ssd/lib/manticore/product_tags/product_tags.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'product_collections': disabled at the JSON config
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'product_collections': prealloc: failed to lock /ssd/lib/manticore/product_collections/product_collections.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.305 2024] [989663] WARNING: table 'product_properties_values': disabled at the JSON config
[Wed Dec  4 22:35:43.306 2024] [989663] WARNING: table 'product_properties_values': prealloc: failed to lock /ssd/lib/manticore/product_properties_values/product_properties_values.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.306 2024] [989663] WARNING: table 'products_for_autocorrect': disabled at the JSON config
[Wed Dec  4 22:35:43.306 2024] [989663] WARNING: table 'products_for_autocorrect': prealloc: failed to lock /ssd/lib/manticore/products_for_autocorrect/products_for_autocorrect.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.306 2024] [989663] WARNING: table 'products_old': disabled at the JSON config
[Wed Dec  4 22:35:43.306 2024] [989663] WARNING: table 'products_old': prealloc: failed to lock /ssd/lib/manticore/products_old/products_old.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.306 2024] [989663] WARNING: table 'products': disabled at the JSON config
[Wed Dec  4 22:35:43.306 2024] [989663] WARNING: table 'products': prealloc: failed to lock /ssd/lib/manticore/products/products.lock: Resource temporarily unavailable - NOT SERVING
[Wed Dec  4 22:35:43.307 2024] [989684] prereading 0 tables
[Wed Dec  4 22:35:43.307 2024] [989684] preread 0 tables in 0.000 sec
[Wed Dec  4 22:35:43.341 2024] [970686] watchdog: main process 970687 killed cleanly with SIGKILL, shutting down
[Wed Dec  4 22:35:43.572 2024] [989662] accepting connections
[Wed Dec  4 22:35:44.223 2024] [989765] [BUDDY] started v2.3.12 '/usr/share/manticore/modules/manticore-buddy/bin/manticore-buddy --listen=http://10.9.2.29:9312 --bind=127.0.0.1 --disable-telemetry --threads=126 --skip=manticoresoftware/buddy-plugin-sharding --skip=manticoresoftware/buddy-plugin-queue' at http://127.0.0.1:37059
[Wed Dec  4 22:35:44.237 2024] [989739] [BUDDY] Loaded plugins:
[Wed Dec  4 22:35:44.237 2024] [989739] [BUDDY]   core: empty-string, backup, emulate-elastic, create, insert, alias, select, show, cli-table, plugin, test, alter-distributed-table, alter-rename-table, modify-table, knn, replace
[Wed Dec  4 22:35:44.237 2024] [989739] [BUDDY]   local: 
[Wed Dec  4 22:35:44.237 2024] [989739] [BUDDY]   extra: 
[Wed Dec  4 22:35:44.260 2024] [989740] WARNING: [BUDDY] [350] error: Failed to connect to 127.0.0.1 port 37059 after 0 ms: Connection refused
[Wed Dec  4 22:35:44.260 2024] [989723] WARNING: [BUDDY] [355] error: Failed to connect to 127.0.0.1 port 37059 after 0 ms: Connection refused
[Wed Dec  4 22:35:44.260 2024] [989694] WARNING: [BUDDY] [105] error: Failed to connect to 127.0.0.1 port 37059 after 0 ms: Connection refused

Восстановление работы после ее restart или принудительного kill процессов (т.к. сама не могла корректно завершить).

В итоге создали копию индекса из схемы с 0 (схема выше предоставлена), провели реиндекс полный (заполнили данными) и сделали RENAME.
Индекс стал 2.1G.
С момента пересоздания индекса он стал снова распухать, сейчас до 11G:

11G     /ssd/lib/manticore/products

и количество файлов:

ls -l /ssd/lib/manticore/products | wc -l
1564

Вот как выглядит по мониторингу:




Судя по всему как-то не так работает оптимизация или еще что, что в итоге приводит к росту индекса.
Как понять в чем проблема и решить?

у вас нода с 64 ядрами - вот демон и начинает \ оптимизирует до 128 диск чанков на индекс - вы можете почитать об этом в документации Manticore Search Manual: Securing and compacting a table > Compacting a table

если вам нужно другое значение вы можете использовать searchd.optimize_cutoff опцию или задавать эту опцию для каждой таблицы

1 Like

Можно весь лог?

И как это выглядело в графане

Т.е. можно условно в половину ограничить?
А что по поводу раздувание индекса?

Куда загрузить можно? Т.к. тут только картинки разрешены.







Куда загрузить можно? Т.к. тут только картинки разрешены.

Добавил .log и .zip . Попробуйте

1 Like

Спасибо!

searchd.log (440.9 KB)

нет никакого раздувания - вы добавляете или заменяете данные, они сохраняются как диск чанк. Диск чанки копятся пока их не станет больше 128 на индекс, после этого запускается оптимизация. Пока меньше 128 диск чанков на индекс - индекс увеличивается в размерах на диске.

1 Like

Есть рекомендации по оптимальному значению или с какого можно начать?
По параметру: Manticore Search Manual: Server settings > Searchd

Статус по индексу:

mysql> SHOW TABLE products STATUS;
+-----------------------------+---------------------------------------------------------------------------------------------------------------+
| Variable_name               | Value                                                                                                         |
+-----------------------------+---------------------------------------------------------------------------------------------------------------+
| index_type                  | rt                                                                                                            |
| indexed_documents           | 1245958                                                                                                       |
| indexed_bytes               | 23362628222                                                                                                   |
| ram_bytes                   | 5768873405                                                                                                    |
| disk_bytes                  | 11961931640                                                                                                   |
| disk_mapped                 | 6010986842                                                                                                    |
| disk_mapped_cached          | 5647790080                                                                                                    |
| disk_mapped_doclists        | 0                                                                                                             |
| disk_mapped_cached_doclists | 0                                                                                                             |
| disk_mapped_hitlists        | 0                                                                                                             |
| disk_mapped_cached_hitlists | 0                                                                                                             |
| killed_documents            | 4328732                                                                                                       |
| killed_rate                 | 77.64%                                                                                                        |
| ram_chunk                   | 120461165                                                                                                     |
| ram_chunk_segments_count    | 26                                                                                                            |
| disk_chunks                 | 147                                                                                                           |
| mem_limit                   | 134217728                                                                                                     |
| mem_limit_rate              | 95.00%                                                                                                        |
| ram_bytes_retired           | 0                                                                                                             |
| locked                      | 0                                                                                                             |
| tid                         | 0                                                                                                             |
| tid_saved                   | 0                                                                                                             |
| query_time_1min             | {"queries":18704, "avg_sec":0.004, "min_sec":0.001, "max_sec":0.119, "pct95_sec":0.007, "pct99_sec":0.011}    |
| query_time_5min             | {"queries":91520, "avg_sec":0.004, "min_sec":0.001, "max_sec":0.222, "pct95_sec":0.006, "pct99_sec":0.010}    |
| query_time_15min            | {"queries":286673, "avg_sec":0.004, "min_sec":0.001, "max_sec":1.831, "pct95_sec":0.006, "pct99_sec":0.010}   |
| query_time_total            | {"queries":24607127, "avg_sec":0.003, "min_sec":0.000, "max_sec":3.542, "pct95_sec":0.008, "pct99_sec":0.018} |
| found_rows_1min             | {"queries":18704, "avg":5678, "min":0, "max":1243040, "pct95":35316, "pct99":53312}                           |
| found_rows_5min             | {"queries":91520, "avg":4967, "min":0, "max":1243040, "pct95":29428, "pct99":52790}                           |
| found_rows_15min            | {"queries":286673, "avg":4947, "min":0, "max":1243040, "pct95":28231, "pct99":50842}                          |
| found_rows_total            | {"queries":24607127, "avg":3868, "min":0, "max":1243254, "pct95":690, "pct99":26509}                          |
+-----------------------------+---------------------------------------------------------------------------------------------------------------+
30 rows in set (0,04 sec)

где disk_chunks | 147 - по ней можно определить текущее количество и после превышения 128 должна быть оптимизация?
Потому как за почти месяц работы нового сервера судя по всему так и не было оптимизации.

если вы запустите демона с ключем --logdebug то на старте демон напечатает количество тредов которое он увидел или как задано в конфиге searchd.threads = x

DEBUG: SetMaxChildrenThreads to 4

возможно у вас процессор с HT и демон видат 128 тредов и тогда согласно

By default, OPTIMIZE merges the RT table’s disk chunks down to a number equal to # of CPU cores * 2 . You can control the number of optimized disk chunks using the cutoff option.

OPTIMIZE по дефолту останавливается на 128 * 2 диск чанках

Про оптимальный размер индекса - судя по тому что у вас

killed_rate                 | 77.64%    

можете оставить 30% от того размера, что у вас есть сейчас

1 Like

Да все так, их 128, а в конфигурации задали searchd.threads = 126, чтобы совсем не повесить систему.

Получается что так. Но как-то много выходит, будем уменьшать.
Возможно это было причиной периодических всплесков по ресурсам (CPU особенно).
У нас в такие моменты сильно возрастало количество Worker (до ~5-6К, при обычных ~300), из-за этого все запросы выполнялись очень долго (до 114 сек), а новые вставали в очередь, которая копилась.
Учитывая, что не было увеличение трафика на сервис (PHP) и сам Manticore, то больше похоже, что это все-таки внутренняя работа Manticore дала нагрузку.
При таком количестве чанков и выполнении оптимизации (OPTIMIZE) мог быть такой эффект? По времени ~2-5 минут.

Понял, спасибо. Попробуем.

По результату напишу.

Задал searchd.optimize_cutoff=64.
Все в порядке, оптимизация выполняется.