manticore грузит CPU

после перехода со sphinx начало грузить сервер. LA с 2 до 4-5 вырос. ничего не обычного не использую, только match, долгих запрос в логах нет, и в самом скрипте запросы все максимально простые использую
/* Tue Aug 12 20:02:26.068 2025 conn 4167 (127.0.0.1:36484) real 0.103 wall 0.103 found 23414 */
как ограничить использование ресурсов в manticore ? версия свежая

index videos_index
{
    source = videos
    path = /var/lib/*
    morphology = stem_ru,stem_en
    min_word_len = 1
    min_infix_len = 1
    index_exact_words = 1
    charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
}

searchd {
    listen = 127.0.0.1:9312
    listen = 127.0.0.1:9306:mysql
    #listen = 127.0.0.1:9308:http
    log = /var/log/manticore/searchd.log
    query_log = /var/log/manticore/query.log
    pid_file = /var/run/manticore/searchd.pid
 access_plain_attrs = mlock
 access_blob_attrs  = mlock
 access_doclists    = mlock
 access_hitlists    = mlock
   threads = 2
   max_threads_per_query = 1

}

вы можете отключить searchd.pseudo_sharding=0 Server settings > Searchd | Manticore Search Manual

хотя использование searchd.max_threads_per_query = 1 должно быть аналогично в большинстве случаев

отключил pseudo_sharding, ничего не поменялось

Можно:

  • полный пример запроса?
  • полный пример документа?
  • точную схему таблицы?

В идеале бы конечно дамп бд, но так тоже пойдёт - экстраполирую и попробую побенчить локально.

CREATE TABLE `videos` (
  `id` int(11) NOT NULL,
  `partner_id` int(11) NOT NULL DEFAULT 0,
  `server_group_id` int(11) NOT NULL DEFAULT 0,
  `type_id` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
  `feed_id` int(11) UNSIGNED NOT NULL DEFAULT 0,
  `name` varchar(240) DEFAULT NULL,
  `name_en` varchar(240) DEFAULT NULL,
  `year` tinyint(4) NOT NULL DEFAULT 0,
  `tag_ids` varchar(240) DEFAULT NULL,
  `descr` text DEFAULT NULL,
  `duration` varchar(40) DEFAULT NULL,
  `is_hd` tinyint(1) NOT NULL DEFAULT 0,
  `slug` varchar(244) DEFAULT NULL,
  `location` varchar(500) DEFAULT NULL,
  `add_date` datetime NOT NULL,
  `published` tinyint(1) UNSIGNED NOT NULL DEFAULT 1,
  `is_review_need` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
  `status_id` tinyint(2) NOT NULL DEFAULT 0,
  `translate_status_id` tinyint(2) NOT NULL DEFAULT 0,
  `player_data` text DEFAULT NULL,
  `videos_data` text DEFAULT NULL,
  `format_files` text DEFAULT NULL,
  `rotations` text DEFAULT NULL,
  `embed` text DEFAULT NULL,
  `related_ids` varchar(240) DEFAULT NULL,
  `parts_ids` varchar(244) DEFAULT NULL,
  `external_key` varchar(32) DEFAULT NULL,
  `views` int(11) UNSIGNED NOT NULL DEFAULT 0,
  `likes` int(11) UNSIGNED NOT NULL DEFAULT 0,
  `dislikes` int(11) UNSIGNED NOT NULL DEFAULT 0,
  `translated` tinyint(1) UNSIGNED NOT NULL DEFAULT 0,
  `flag` tinyint(3) UNSIGNED NOT NULL DEFAULT 0,
  `total_comments` int(11) UNSIGNED NOT NULL DEFAULT 0,
  `allowed_countries` varchar(50) DEFAULT NULL,
  `other_names` text DEFAULT NULL,
  `age_rest_id` tinyint(2) NOT NULL DEFAULT 0,
  `chapters_count` tinyint(4) NOT NULL DEFAULT 0,
  `telegraph` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Дамп данных таблицы `videos`
--

--
-- Индексы сохранённых таблиц
--

--
-- Индексы таблицы `videos`
--
ALTER TABLE `videos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id` (`id`),
  ADD KEY `published` (`published`),
  ADD KEY `duration` (`duration`),
  ADD KEY `add_date` (`add_date`),
  ADD KEY `views` (`views`),
  ADD KEY `likes` (`likes`),
  ADD KEY `ip` (`id`,`published`),
  ADD KEY `partner_id` (`partner_id`),
  ADD KEY `feed_id` (`feed_id`),
  ADD KEY `external_key` (`external_key`),
  ADD KEY `slug` (`slug`);
ALTER TABLE `videos` ADD FULLTEXT KEY `name` (`name`,`descr`);

--
-- AUTO_INCREMENT для сохранённых таблиц
--

--
-- AUTO_INCREMENT для таблицы `videos`
--
ALTER TABLE `videos`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18168;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

выше таблица, сам конфиг:

source videos_t1
{
    type = mysql

    sql_host = localhost
    sql_user = t1
    sql_pass = t1
    sql_db = t1
    sql_port = 3306

    sql_query_pre = SET NAMES utf8
    sql_query = \
        SELECT v.*, v.id AS video_id, UNIX_TIMESTAMP(v.add_date) AS add_date_ts, \
        (SELECT  REPLACE(GROUP_CONCAT(CONCAT_WS(',', tags.name, tags.synonyms)), '|', '') FROM tags \
        JOIN videos_tags ON (videos_tags.tag_id = tags.id) \
        WHERE videos_tags.tag_id = tags.id AND videos_tags.video_id=v.id) AS `tags`, \
        tag_ids AS tag_ids_array, \
        p.id AS p_partner_id, p.name AS partner_name, p.site_url AS partner_site_url, \
               p.method_id AS partner_method_id, p.preview_type AS partner_preview_type \
        FROM videos AS v \
        JOIN partners AS p ON p.id = v.partner_id \
        WHERE v.published = 1
        sql_field_string = tags
        sql_field_string = tag_ids
        sql_attr_multi = uint tag_ids_array from field
        sql_attr_uint = partner_method_id
        sql_attr_uint = partner_preview_type
        sql_attr_string = partner_name
        sql_attr_string = partner_site_url
        sql_attr_uint = partner_id
        sql_attr_uint = server_group_id
        sql_attr_uint = type_id
        sql_attr_uint = feed_id
        sql_field_string = name
        sql_field_string = descr
        sql_attr_string = duration
        sql_attr_uint = is_hd
        sql_attr_string = location
        sql_field_string = add_date
        sql_field_string = add_date_ts
        #sql_attr_uint = published
        sql_attr_uint = is_review_need
        sql_attr_string = player_data
        sql_attr_string = videos_data
        sql_attr_string = format_files
        sql_attr_string = rotations
        sql_attr_string = embed
        sql_attr_string = related_ids
        sql_attr_string = external_key
        sql_attr_uint = views
        sql_attr_uint = likes
        sql_attr_uint = dislikes
        sql_attr_uint = translated
        sql_attr_uint = flag
        sql_attr_uint = total_comments

}

index videos_index_t1
{
    source = videos_t1
    path = /var/lib/manticore/videos_index_t1
    #docinfo = extern
    morphology = stem_ru,stem_en
    min_word_len = 1
    min_infix_len = 1
    index_exact_words = 1
    charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
}
searchd {
    listen = 127.0.0.1:9312
    listen = 127.0.0.1:9306:mysql
    #listen = 127.0.0.1:9308:http
    log = /var/log/manticore/searchd.log
    query_log = /var/log/manticore/query.log
    pid_file = /var/run/manticore/searchd.pid

    query_log_min_msec = 300
    access_plain_attrs = mlock
    access_blob_attrs  = mlock
    access_doclists    = mlock
    access_hitlists    = mlock
    threads = 2
    #max_threads_per_query = 1
    pseudo_sharding = 0
    telemetry = 0
    net_workers = 2
}

запросы обычные, простой вывод по пагинации , и вывод записей с определенными тегами (tag_ids_array) с пагинацией
ну и поиск по name и descr с пагинацией

atop показывает что searchd грузит сервер
вот статистика за 10 минут, снимок atop делаем каждые 10 сек (LOGINTERVAL=10)
23:30–23:40
searchd: 45–76%
mariadbd: 35–65%
nginx: 13–20%

видно что searchd больше всех забирает ресурсы

отключил pseudo_sharding, ничего не поменялось

max_threads_per_query = 1 попробуйте. И покажите, пожалуйста, статистику из SHOW STATUS

max_threads_per_query = 1 сделал

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 10873
Server version: 13.6.7 1ab9ccc95@25080704 (columnar 8.0.1 fc30df6@25072219) (secondary 8.0.1 fc30df6@25072219) (knn 8.0.1 fc30df6@25072219) (embeddings 1.0.0) git branch manticore-13.6.7...origin/manticore-13.6.7

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> SHOW STATUS;
+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Counter                       | Value                                                                                                                                                                            |
+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| uptime                        | 427                                                                                                                                                                              |
| connections                   | 10999                                                                                                                                                                            |
| maxed_out                     | 0                                                                                                                                                                                |
| version                       | 13.6.7 1ab9ccc95@25080704 (columnar 8.0.1 fc30df6@25072219) (secondary 8.0.1 fc30df6@25072219) (knn 8.0.1 fc30df6@25072219) (embeddings 1.0.0) (buddy v3.34.2+25080617-ff540bfc) |
| mysql_version                 | 13.6.7 1ab9ccc95@25080704 (columnar 8.0.1 fc30df6@25072219) (secondary 8.0.1 fc30df6@25072219) (knn 8.0.1 fc30df6@25072219) (embeddings 1.0.0)                                   |
| command_search                | 11877                                                                                                                                                                            |
| command_excerpt               | 0                                                                                                                                                                                |
| command_update                | 0                                                                                                                                                                                |
| command_keywords              | 0                                                                                                                                                                                |
| command_persist               | 0                                                                                                                                                                                |
| command_status                | 1                                                                                                                                                                                |
| command_flushattrs            | 0                                                                                                                                                                                |
| command_sphinxql              | 0                                                                                                                                                                                |
| command_ping                  | 0                                                                                                                                                                                |
| command_delete                | 0                                                                                                                                                                                |
| command_set                   | 0                                                                                                                                                                                |
| command_insert                | 0                                                                                                                                                                                |
| command_replace               | 0                                                                                                                                                                                |
| command_commit                | 0                                                                                                                                                                                |
| command_suggest               | 0                                                                                                                                                                                |
| command_json                  | 0                                                                                                                                                                                |
| command_callpq                | 0                                                                                                                                                                                |
| command_cluster               | 0                                                                                                                                                                                |
| command_getfield              | 0                                                                                                                                                                                |
| insert_replace_stats_ms_avg   | N/A N/A N/A                                                                                                                                                                      |
| insert_replace_stats_ms_min   | N/A N/A N/A                                                                                                                                                                      |
| insert_replace_stats_ms_max   | N/A N/A N/A                                                                                                                                                                      |
| insert_replace_stats_ms_pct95 | N/A N/A N/A                                                                                                                                                                      |
| insert_replace_stats_ms_pct99 | N/A N/A N/A                                                                                                                                                                      |
| search_stats_ms_avg           | 8.058 8.892 9.671                                                                                                                                                                |
| search_stats_ms_min           | 0.190 0.148 0.116                                                                                                                                                                |
| search_stats_ms_max           | 315.160 550.210 2886.262                                                                                                                                                         |
| search_stats_ms_pct95         | 38.537 39.763 42.602                                                                                                                                                             |
| search_stats_ms_pct99         | 106.353 102.751 102.751                                                                                                                                                          |
| update_stats_ms_avg           | N/A N/A N/A                                                                                                                                                                      |
| update_stats_ms_min           | N/A N/A N/A                                                                                                                                                                      |
| update_stats_ms_max           | N/A N/A N/A                                                                                                                                                                      |
| update_stats_ms_pct95         | N/A N/A N/A                                                                                                                                                                      |
| update_stats_ms_pct99         | N/A N/A N/A                                                                                                                                                                      |
| agent_connect                 | 0                                                                                                                                                                                |
| agent_tfo                     | 0                                                                                                                                                                                |
| agent_retry                   | 0                                                                                                                                                                                |
| queries                       | 11877                                                                                                                                                                            |
| dist_queries                  | 0                                                                                                                                                                                |
| workers_total                 | 2                                                                                                                                                                                |
| workers_active                | 4                                                                                                                                                                                |
| workers_clients               | 3                                                                                                                                                                                |
| workers_clients_vip           | 0                                                                                                                                                                                |
| workers_clients_buddy         | 0                                                                                                                                                                                |
| work_queue_length             | 6                                                                                                                                                                                |
| load                          | 0.61 2.93 3.11                                                                                                                                                                   |
| load_primary                  | 0.09 2.36 2.53                                                                                                                                                                   |
| load_secondary                | 0.07 0.10 0.11                                                                                                                                                                   |
| query_wall                    | 111.501                                                                                                                                                                          |
| 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.009                                                                                                                                                                            |
| 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                                                                                                                                                                                |
+-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
75 rows in set (0.002 sec)

По

| load                          | 0.61 2.93 3.11                                                                                                                                                                   |

видно, что за последние 15 минут в среднем 3 воркера обрабатывали запросы, что с т.з. нагрузки на сервере должно было выглядеть, как 3 ядра. Так и было, если смотреть по atop?

max_threads_per_query = 1 что-то изменил вообще?

Сколько на сервере ядер?