База знаний затормозила на 10k статей — кто сталкивался и что делал?
У меня в базе около 10к статей, и поиск реально стал тормозить, да и рендер страниц чуть ли не по минутам. Сначала думал, что хостинг виноват, но сервер свободен по ресурсам. Похоже, основная проблема на уровне СУБД и движка базы знаний. Поиск делается через LIKE по тексту, и индексы тут не всегда помогают.
Пробовал подключить ElasticSearch, но интеграция оказалась боль, да и запустил его в облегченном варианте, чтобы не дохнуть по ресурсам, но толку по времени ответа почти нет. Кэширование страниц через Redis немного разгрузило базу, но поиск без кэша так и медленный.
Перепроверил ORM и запросы — все нормально, сложные джойны и подзапросы сократил. Сейчас думаю, что базу надо делить по смысловым группам и делать несколько поисковых инстансов, чтобы не дергать всё сразу. Похоже, что с таким объемом у кого-то был адекватный способ типа пагинации по индексу или сплит-индекса.
Если у кого есть опыт с такими массивами и быстрым поиском, расскажите, что реально помогло? Есть проверенные подходы по подготовке данных или настройке движка? У меня ощущение, что без переделки архитектуры никак, но хочется услышать рабочие варианты.