Всем привет,
Мы начали регулярно сталкиваться с тайм-аутами при выполнении запроса /search. Проведя бенчмарки по некоторым поисковым запросам, мы обнаружили, что некоторые из них могут выполняться до 2 минут. Мы нашли эту публикацию, но хотели бы узнать, есть ли дополнительные рекомендации по решению этой проблемы. Вот некоторая релевантная информация о нашем конкретном случае:
- Наш самый крупный сайт (на котором чаще всего возникают тайм-ауты) содержит около 1 700 000 сообщений.
- Мы используем настройки autovacuum по умолчанию для PostgreSQL. Мы собрали статистику по соответствующим таблицам:
categories,posts,topics,post_search_data,users. Они, судя по всему, проходят вакуумирование примерно раз в день, поэтому мы не считаем, что замедление поиска связано с мёртвыми строками. - Мы вручную запустили
Jobs::ReindexSearch.new({}), но не увидели существенного улучшения.
Мы рассматриваем возможность запуска rake search:reindex на этом сайте, хотя знаем, что это займёт довольно много времени. Однако хотели бы узнать, есть ли у вас какие-либо другие предложения?
Заранее спасибо.