(não swap, mas estão lendo do disco)
isso se encaixa com minhas observações anteriores:
Note que este é o tamanho da relação e dos índices. Compare com pg_relation_size.
Isso é de ScoreCalculator, parte de PeriodicalUpdates.
Esta é a sua descoberta que precisa ser resolvida. Em comparação, aqui no meta, Jobs::EnsureDbConsistency leva <2min e Jobs::TopRefreshOlder leva <10s:
O Postgres precisa de mais memória. Dê a ele o máximo que puder.
Você também pode ver benefícios com um VACUUM ANALYZE ou VACUUM ANALYZE FULL. Fazer o primeiro nunca prejudica.
Eu provavelmente faria, em ordem:
vacuum analyze- pausar sidekiq e depois
vacuum analyze full(isso congela as tabelas para reescrevê-las completamente, pode incorrer em algumas falhas enquanto é executado) - mais memória para o postgres

