2017-06-27 2 views
0

Meine Web-App hat riesige CPU-Spitzen. Nicht wegen des Verkehrsaufkommens, sondern wegen starker Belastung, wie das Ausgehen von Meldungen. Einige davon führen dazu, dass die CPU für die nächsten 2-10 Minuten von einer gesunden 30% Last auf 100% geht ... Hier beschreibe ich, als ob ich nur 1 Server hätte, aber ich habe bis zu 4 Server gesehen Verrückt, weil die Ausrichtung der Sterne, die um 50 meiner Klienten gemacht werden, einen Bericht zur gleichen Zeit wollen ... ich werde auf azurblau gehostet und ich benutze die automatische Skala, um mit diesen Spitzen umzugehen. Wenn die Ladung für mehr als 2 Minuten nördlich von 70% geht, wird eine neue Instanz angezeigt.ThreadPool.SetMinThreads als Warm-up-Strategie

Die Sache ist, weil Server 1 zu 100% gesichert ist, wenn es hochgeht, (hoffe ich) wird die Lastbalance jede neue Anfrage an Server 2 richten, bis Server 1 wieder mehr verarbeiten kann. Aufgrund dieses (erwarteten) Verhaltens habe ich mich gefragt, ob ich die Mindestanzahl von Threads erhöhen sollte, damit die Anforderungen, die kommen, schneller bearbeitet werden können.
Meine übliche Rate von Anfragen ist um 15/s, also dachte ich sollte den Pool mit mindestens 50 ...

starten, was ihr denkt?

Edit 1 2017.07.13
Bisher dies funktioniert gut ... ich werde eine höhere Einstellung versuchen und sehen, was passiert,

Antwort

1

Diese Strategie selbst hat sich als sehr nützlich und gemildert viel von Problemen. Nicht alle meine Probleme sind verschwunden, aber die Fehler/Timeouts sind stark zurückgegangen.

Verwandte Themen