Stiamo utilizzando Asp.Net WebApi su 3 server dietro HAProxy. HAProxy distribuisce semplicemente casualmente richieste tra queste 3 istanze.Come rilevare i problemi con CPU alta e tempi di risposta lunghi con Asp.NET Web Api
Queste istanze si collegano a mongodb, redis e alcuni servizi di Windows.
Normalmente, w3wp.exe utilizza circa% 30 cpu su ciascun server API.
Di tanto in tanto (alcune volte in un'ora) uno dei server API decide di utilizzare quantità elevate di CPU. In correlazione con questo comportamento, iniziamo a vedere un aumento dei tempi di risposta. I numeri continuano a crescere finché HAProxy non vede i tempi di risposta di 10000 ms e decide di instradare le richieste ad altri due server. Tutti questi si verificano in 10-20 secondi. Dopo un po ', questo server torna allo stato normale e ricomincia a rispondere alle richieste. Dopo pochi minuti, un altro server fa esattamente la stessa cosa. Questo continua ad andare avanti.
Si sta utilizzando New Relic ma poiché l'applicazione è un'applicazione WebApi, non vengono fornite informazioni utili. Monitoriamo tutti i nostri server (servizi redis, mongo e windows) per l'utilizzo della cpu, l'utilizzo della memoria, il traffico di rete e l'I/O, ma non vediamo alcun carico significativo durante le interruzioni sopracitate.
Come possiamo rilevare la causa di questo comportamento dell'applicazione?
Hai risolto questo problema? Sto avendo un problema simile con web API. Per alcune chiamate, l'utente non riceve risposta e w3wp.exe ottiene un elevato utilizzo della memoria. Puoi condividere come hai esaminato il tuo problema? –