Aumento dell'uso della CPU dopo l'aggiornamento a 3.4.0.beta4-dev (58f75ed205)

Ho riscontrato un notevole aumento dell’utilizzo della CPU da quando ho effettuato l’aggiornamento questo fine settimana. L’utilizzo della CPU di RUBY sembra essere il driver principale. Questo è stato segnalato da un altro utente di discourse in questo topic.

Come puoi vedere dai grafici sottostanti, l’utilizzo della CPU e il carico prima dell’aggiornamento erano molto inferiori rispetto a quelli post-aggiornamento. L’aggiornamento è avvenuto la sera del 31/1.

Ecco due immagini di TOP scattate a distanza di 33 ore:

In 33 ore, c’è un significativo utilizzo della CPU di ruby. Sulla base dei dati di top, ho riscontrato un utilizzo della CPU 2 volte superiore nelle ultime 33 ore rispetto a 22 giorni. In 33 ore, ho riscontrato 11 ore di tempo CPU. (648 minuti di tempo CPU su 5 PID)

Dati aggiuntivi:

  • Il traffico è diminuito negli ultimi due giorni di circa il 10%. (analytics e dashboard)
  • Installazione standard di discourse su singolo container (senza chat)
  • Code Sidekiq minime (da 1K a 2K al giorno)
  • Nulla sembra insolito nei log di discourse
  • Funziono su un server DO con 8 GB di RAM e 2 vCPU AMD.

Non è il caso in cui il server sia critico, ma i server che funzionano al 5% - 7% sono molto più felici di quelli che funzionano al 25%.

Quali informazioni posso fornire per aiutare a risolvere questo problema?

grazie

3 Mi Piace

Lasciamo questo in supporto per un po’ finché non determiniamo se si tratta di un bug.

Puoi entrare nel container ed eseguire un htop dall’interno (dovrai installarlo) in questo modo sarai in grado di dire quale processo specifico sta consumando elevate quantità di CPU.

Puoi ottenere un po’ più di visibilità utilizzando una tecnica come questa: Debugging 100% CPU usage in production Ruby on Rails systems

Molto probabilmente, però, è sidekiq /sidekiq in qualche modo sovraccarico sulla tua istanza. (Mi concentrerei in particolare sullo scheduler)

viste htop.

Ecco un video di 30 secondi:

Screenshot casuali:

Vista ad albero:

sidekiq:


Fammi sapere se c’è qualcosa di specifico che devi vedere. Io

2 Mi Piace

Sì, c’è qualcosa che non va:

top -H -p PID_DEL_UNICORN

Sospetto che vedrai V8 DefaultWorker lì, penso che sia un regressione in mini_racer… lo riporterò per vedere se questo risolve il problema.

1 Mi Piace

OK, questo è stato ripristinato ora,

Fammi sapere se il commit ripristina le prestazioni.

6 Mi Piace

Sì, ha risolto il problema dell’elevato utilizzo della CPU. Il mio carico a 1 minuto e 5 minuti è circa 1/3 dei valori precedenti. Questo con htop e netdata in esecuzione sul sistema.

Video HTOP

Grafico del carico

Mi aspetto che l’utilizzo della CPU e il carico diminuiscano lentamente man mano che più query di database vengono memorizzate nella cache nel sistema.

Tabella del carico:

tempo Pre-fix post-fix
1 min 0.4 - 0.6 0.06 - 0.1
5 min 0.39 - 0.5 0.15 - 0.18

La metrica dei 15 minuti è influenzata da una ricostruzione. Pubblicherò altre statistiche più tardi domattina.

Grazie per la correzione notturna.

3 Mi Piace

Mi dispiace per questo, l’aggiornamento di mini_racer è stata una grande avventura. Speriamo di superarla presto.

3 Mi Piace

Grazie per la rapida risposta per indagare.

Sono sicuro che avevate altri piani per la giornata oltre a un rollback.

Essendo un nuovo utente di Discourse, a 2 settimane dalla migrazione, il prodotto si è dimostrato ottimo con cui lavorare.

2 Mi Piace

Storia simile anche qui.

[Modifica: sembra essere stato risolto ora dopo l’aggiornamento all’ultima branch]

Ecco una revisione delle prestazioni 18 ore dopo la ricostruzione. La tabella dei carichi dice tutto.

Tabella dei carichi:

tempo Pre-fix post-fix
1 min da 0,4 a 0,6 da 0,03 a 0,05
5 min da 0,39 a 0,5 0,09
15 min 0,68 0,12

Legenda:

  • Freccia rossa - ricostruita l’app
  • Freccia viola - spento netdata

Nota, per chiudere il cerchio, il bug che lo causava era questo:

Ho aggiornato la gemma. Un vantaggio immediato è che sembra che questa versione di v8 utilizzi leggermente meno memoria, il che è positivo.

6 Mi Piace

L’ho installata ieri sera con la correzione. L’utilizzo della CPU è tornato ai livelli storici.

Grazie per tutto l’ottimo lavoro.

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.