Uso de CPU inusualmente alto

(no al swap, sino que están leyendo desde el disco)

Esto coincide con mis observaciones anteriores:

Ten en cuenta que este es el tamaño de la relación e índices. Compáralo con pg_relation_size.

Esto es de ScoreCalculator, parte de PeriodicalUpdates.

Este es tu hallazgo que necesita ser resuelto. En comparación, aquí en meta Jobs::EnsureDbConsistency tarda <2min y Jobs::TopRefreshOlder tarda <10s:

Postgres necesita más memoria. Dale tanta como puedas.

También podrías ver un beneficio con un VACUUM ANALYZE o VACUUM ANALYZE FULL. Hacer el primero nunca perjudica.

Yo probablemente haría, en orden:

  • vacuum analyze
  • pausar sidekiq y luego vacuum analyze full (esto congela las tablas para reescribirlas completamente, puede generar algunos fallos mientras se ejecuta)
  • más memoria para postgres
1 me gusta