Utilizzo della CPU insolitamente elevato

(non in swap, ma stanno leggendo dal disco)

questo si allinea con le mie osservazioni precedenti:

Nota che questa è la dimensione della relazione e degli indici. Confronta con pg_relation_size.

Questo proviene da ScoreCalculator, parte di PeriodicalUpdates.

Questa è la tua scoperta che deve essere risolta. A titolo di paragone, qui su meta Jobs::EnsureDbConsistency impiega <2min e Jobs::TopRefreshOlder impiega <10s:

Postgres ha bisogno di più memoria. Dagliene quanta più puoi.

Potresti anche vedere benefici da un VACUUM ANALYZE o VACUUM ANALYZE FULL. Eseguire il primo non fa mai male.

Probabilmente farei, in ordine:

  • vacuum analyze
  • metti in pausa sidekiq poi vacuum analyze full (questo congela le tabelle per riscriverle completamente, potrebbe comportare alcuni fallimenti mentre è in esecuzione)
  • più memoria a postgres
1 Mi Piace