Olá pessoal,
Temos observado timeouts regularmente na nossa consulta /search. Realizamos testes de desempenho com alguns termos de busca e notamos que algumas consultas podem levar até 2 minutos para serem concluídas. Encontramos este post, mas gostaríamos de saber se há recomendações adicionais sobre como lidar com isso. Seguem algumas informações relevantes sobre o nosso caso específico:
- Nosso maior site (aquele que apresenta timeouts com mais frequência) possui cerca de 1.700.000 posts.
- Estamos utilizando as configurações padrão do autovacuum do PostgreSQL. Coletamos estatísticas das tabelas pertinentes:
categories,posts,topics,post_search_dataeusers, e elas parecem ser submetidas ao vacuum cerca de uma vez por dia. Portanto, não acreditamos que o problema esteja relacionado a linhas mortas desacelerando nossa busca. - Executamos manualmente o
Jobs::ReindexSearch.new({}), mas não observamos nenhuma melhoria considerável.
Estamos considerando executar o rake search:reindex nesse site, o que sabemos que levará bastante tempo, mas gostaríamos de saber se vocês têm alguma outra sugestão.
Obrigado desde já.