Доброго дня!
В рамках тестирования одной из новых версий, а именно 27.1.5, по метрикам заметно значительное увеличение workers и queue length:
По графикам до ~18:00 работа прошлой версии 13.6.7.
Затем сервис Manticore был остановлен, удалены пакеты и установлен единый пакет версии 27.1.5.
После установки запуск был не успешный, в логах было:
[Mon Jul 20 13:24:00.116 2026] [2000948] FATAL: failed to open file for meta serialization: failed to create /var/lib/manticore/literature_works/literature_works.meta.new: Too many open files
и множество:
[Mon Jul 20 13:20:23.150 2026] [1999671] WARNING: table 'customer_bookmarks_5': prealloc: disk chunk /var/lib/manticore/customer_bookmarks_5/customer_bookmarks_5.64815: prealloc failed: failed to open file '/var/lib/manticore/customer_bookmarks_5/customer_bookmarks_5.64815.spb': 'Too many open files' - NOT SERVING [Mon Jul 20 13:20:23.162 2026] [1999666] WARNING: table 'customer_bookmarks_6': disabled at the JSON config
...
Это удалось решить путем установки параметров в:
/etc/sysctl.conf-fs.inotify.max_user_instances = 100000/etc/security/limits.conf:manticore soft nofile 100000 manticore hard nofile 100000- добавлением параметра
max_open_files = maxв/etc/manticoresearch/manticore.conf
После этого сервис Manticore был успешно запущен, ошибок нет.
Но остается рост workers и queue length, ниже график за 6 часов:
Наглядно видно как идет рост, затем упирается в практически ровный график и далее резкое падение и после снова рост.
При этим утилизация по CPU и диску в норме.
Текущая конфигурация /etc/manticoresearch/manticore.conf:
# ansible_managment
common {
plugin_dir = /usr/local/lib/manticore
}
searchd {
listen = ****:9312
listen = ****:9306:mysql
listen = ****:9308:http
listen = ****:9322-9325:replication
log = /var/log/manticore/searchd.log
query_log = /var/log/manticore/query.log
pid_file = /var/run/manticore/searchd.pid
data_dir = /var/lib/manticore
query_log_format = sphinxql
query_log_min_msec = 500
query_log_mode = 644
node_address = ****
max_batch_queries = 0
max_packet_size = 128M
max_open_files = max
thread_stack = 16M
binlog_flush = 0
binlog_max_log_size = 16M
binlog_path = # disable logging
threads = 11
optimize_cutoff = 16
collation_server = utf8_ci
network_timeout = 300s
sphinxql_timeout = 30m
client_timeout = 1h
secondary_indexes = 1
telemetry = 0
}
С чем может быть связано такое поведение на новой версии?
Manticore стал больше задействовать потоки и упирается в лимит threads?


