Zum Inhalt springen
  • 0

Hohe Auslastung (CPU/Speicher) Worker Process (ISS) - Troubleshouting?!


Frage

Geschrieben

Hallo Zusammen,

Ich habe beim Kunden einen IIS Webserver im Einsatz auf dem ein WebPortal eines Herstellers lÀuft.

RegelmĂ€ĂŸig, stelle ich eine entsprechende hohe Auslastung der CPU und des Speichers fest, was regelmĂ€ssig dazu fĂŒhrt, dass nichts mehr geht ( Anwender können auf das WebPortal nicht mehr zugreifen).

Kann mir vielleicht jemand helfen, wie ich am besten vorgehen, um das Problem besser einzugrenzen? weitere Software oder Àhnliches zu installieren wird schwierig werden, dass es sich um die PRD-Umgebung des Kunden handelt.

Infos zu meinem Webserver:

  • Windows Server 2012 R2 Standard
  • 8 GB RAM
  • IIS 8.5

Ich habe mal zwei AnhĂ€nge, die vielleicht mehr Infos geben, beigefĂŒgt. Falls noch weitere Infos notwendig sind, lasst es mich gerne wissen.

 

Ich danke im Voraus!

LG

Unbenannt2.JPG

Unbenannt1.JPG

Empfohlene BeitrÀge

  • 0
Geschrieben

Ein 2012er Server im Jahr 2021 in Prod Umgebung ???

Zumindest nicht mehr lange ...

8 GB sind auch nicht der Renner fĂŒr nen Server... wie stark ist denn im Normalbetrieb der Speicher ausgelastet ? Geht die Kiste in den virtuellen Speicher und wie schnell sind die Platten ?

  • 0
Geschrieben
vor 5 Stunden schrieb charmanta:

Ein 2012er Server im Jahr 2021 in Prod Umgebung ???

Zumindest nicht mehr lange ...

Zumindest noch bis 10.10.2023 (Ende des erweiterten Supports).

vor 5 Stunden schrieb charmanta:

8 GB sind auch nicht der Renner fĂŒr nen Server... wie stark ist denn im Normalbetrieb der Speicher ausgelastet ? Geht die Kiste in den virtuellen Speicher und wie schnell sind die Platten ?

ZusÀtzlich noch:

Blech, oder virtualisiert? Wenn virtualisiert, kann man dem Hobel mal etwas mehr Dampf unter der Haube verpassen?

Was sagt das Windows Eventlog?

Und, trotz der Tatsache dass Linux definitiv nicht mein Freund ist: warum ein Windowshobel mit IIS und keine Linuxkiste mit Apache?

Wer krallt sich denn (angeblich) die ganze CPU und RAM? LĂ€uft sie langsam voll oder macht es *schlĂŒrp* und sie geht von "schaut doch ganz gut aus" auf "WTF?!?"

Bonusfrage: Warum merkt man erst dass die Kiste auf Anschlag lĂ€uft wenn sie steht, gibt’s kein Monitoring?

  • 0
Geschrieben
vor 8 Stunden schrieb charmanta:

Ein 2012er Server im Jahr 2021 in Prod Umgebung ???

Zumindest nicht mehr lange ...

8 GB sind auch nicht der Renner fĂŒr nen Server... wie stark ist denn im Normalbetrieb der Speicher ausgelastet ? Geht die Kiste in den virtuellen Speicher und wie schnell sind die Platten ?

Ich habe mal einen Screenshot beigefĂŒgt, mit der Hoffnung, dass die Antwort auf deine Frage grĂ¶ĂŸtenteils hervorgeht.

Der 2012er Server hÀngt damit zusammen, dass die Anwendung in der aktuellen Version nicht auf einer 2016er Kiste supportet wird, der Kunde aber auch noch nicht bereit ist, die Anwendung auf die neueste Version zu migrieren... :S

Unbenannt3.JPG

  • 0
Geschrieben
vor 3 Stunden schrieb Maniska:

Blech, oder virtualisiert? Wenn virtualisiert, kann man dem Hobel mal etwas mehr Dampf unter der Haube verpassen?

Virtuell - Theoretisch könnte man das, aber der Kunde blockt dann immer ab, weil es ja unter UmstÀnden mit (Mehr-) Kosten verbunden ist.

vor 3 Stunden schrieb Maniska:

Zumindest noch bis 10.10.2023 (Ende des erweiterten Supports).

Und, trotz der Tatsache dass Linux definitiv nicht mein Freund ist: warum ein Windowshobel mit IIS und keine Linuxkiste mit Apache?

Berechtigte Frage! Der Hersteller, der eingesetzten Anwendung empfahl Windows + IIS.

vor 3 Stunden schrieb Maniska:

Wer krallt sich denn (angeblich) die ganze CPU und RAM? LĂ€uft sie langsam voll oder macht es *schlĂŒrp* und sie geht von "schaut doch ganz gut aus" auf "WTF?!?"

Soweit ich das einschĂ€tzen und beurteilen kann, blĂ€ht sich der IIS Worker Process dann immer mehr und mehr - vor allem beim Speicher - auf. Als wĂŒrde irgendein WebPortal-Zugriff eines Anwenders diesen Effekt verursachen und selbst wenn der Anwender gar nicht mehr aktiv auf dem WebPortal zugreift, löscht sich dieser "aufblĂ€hende" Zugriff nicht.

  • 0
Geschrieben
Zitat

Lieber Kunde,

wir haben folgende Möglichkeiten:

  • weiter sporadische TotalausfĂ€lle und kostenintensives Symptom-Herumgedoktore
  • sowieso anstehende Migrationen auf aktuelle Versionen und adequaten Unterbau zeitnah durchfĂŒhren

oder wie sagt ihr sowas einem Kunden?

  • 0
Geschrieben

Ok, ich fasse zusammen:

Kunde hat $Anwendung in Ă€lterer Version gemĂ€ĂŸ Herstellerspezifikation (?) am Laufen. Kunde will weder fĂŒr mehr Ressourcen noch fĂŒr die aktuelle Version von $Anwendung Geld in die Hand nehmen, bezahlt aber fleißig dafĂŒr dass du auf Fehlersuche gehst, bzw fĂŒr die (temporĂ€re) Fehlerbehebung. Du sagst Kunde dass er die Ressourcen erhöhen soll was er nicht machen will, weil das vielleicht Geld kosten könnte?

Diagnose: Du bist zu gĂŒnstig!

KrĂŒckenlösung: Preise erhöhen :D

Und den Webserver via scheduled task nachts zwischen 3 und 4 neu starten lassen. Wenn es reicht dann nur 1x die Woche, wenn es öfter sein muss, dann halt öfter. Kunde (schriftlich!!!) Bescheid geben, auch dass es möglich sein kann dass der Server mal nicht sauber hoch kommt und das nur eine Übergangslösung ist und ob er das so will

 

 

  • 0
Geschrieben
vor 1 Minute schrieb allesweg:

oder wie sagt ihr sowas einem Kunden?

Ich werde einen Teufel tun und dir widersprechen. Ich sehe ja das Dilemma selbst.

Allerdings frage ich mich ehrlich gesagt  auch, handelt es sich tatsÀchlich um ein Performance-Problem oder steckt doch irgendwo ein technischer Fehler bzw. falsche Konfiguration. 

Ob es sich um das letztgenannte handelt, wollte ich das im Grunde ja kategorisch ausschließen.

  • 0
Geschrieben
vor 4 Minuten schrieb Maniska:

Und den Webserver via scheduled task nachts zwischen 3 und 4 neu starten lassen. Wenn es reicht dann nur 1x die Woche, wenn es öfter sein muss, dann halt öfter. Kunde (schriftlich!!!) Bescheid geben, auch dass es möglich sein kann dass der Servermal nicht sauber hoch kommt und das nur eine Übergangslösung ist und ob er das so will

Das habe ich sogar schon gemacht. Aber bisher lasse ich nur den IIS-Windows-Dienst neu starten. Verhindert aber leider nicht, dass sich sporadisch tagsĂŒber der genannte Prozess ungewollt aufblĂ€ht.

Den Dienst auch gesteuert tagsĂŒber einmal neuzustarten, ist halt suboptimal, da dann ja laufende Session gekillt werden.

 

  • 0
Geschrieben
vor 6 Minuten schrieb theloc866:

Ob es sich um das letztgenannte handelt, wollte ich das im Grunde ja kategorisch ausschließen.

Dann schnapp dir den Support vom Hersteller und frag den.

Der kann dir dann sagen ob oder ob nicht. Als Bonus sagt der dir dann vielleicht auch: "dafĂŒr gibts keine Support mehr, nimm die neue Version oder leb damit"

vor 3 Minuten schrieb theloc866:

Das habe ich sogar schon gemacht. Aber bisher lasse ich nur den IIS-Windows-Dienst neu starten. Verhindert aber leider nicht, dass sich sporadisch tagsĂŒber der genannte Prozess ungewollt aufblĂ€ht.

Den Dienst auch gesteuert tagsĂŒber einmal neuzustarten, ist halt suboptimal, da dann ja laufende Session gekillt werden.

Bedeutet der Kunde ruft an 4/5 Tagen wegen diesem Problem an? Lege ich hier mal die Preise meines DL fĂŒr die reine Ticketaufnahme(!) und Lösungsversuch im 1st Level zu Grunde sind das 80€/Woche (pauschal 20€ pro Ticket + Zeit vom 2nd oder 3rd Level).

Also entweder ist das System so unwichtig, dass es auch egal sein mĂŒsste ob laufende Sessions gekillt werde, oder euer Kunde ist intelligent wie Götterspieße.

Nur aus Interesse, was kostet denn die neue Version von $Anwendung?

  • 0
Geschrieben
vor 16 Minuten schrieb Maniska:

Bedeutet der Kunde ruft an 4/5 Tagen wegen diesem Problem an? Lege ich hier mal die Preise meines DL fĂŒr die reine Ticketaufnahme(!) und Lösungsversuch im 1st Level zu Grunde sind das 80€/Woche (pauschal 20€ pro Ticket + Zeit vom 2nd oder 3rd Level).

Also entweder ist das System so unwichtig, dass es auch egal sein mĂŒsste ob laufende Sessions gekillt werde, oder euer Kunde ist intelligent wie Götterspieße

Gute Argumente, Danke dafĂŒr!

vor 16 Minuten schrieb Maniska:

Nur aus Interesse, was kostet denn die neue Version von $Anwendung?

Die Migration auf wÀre in der Tat schon etwas aufwÀndiger (> 100 PT). Gerade weil es viele kundenspezifische Anpassungen gibt. 

  • 0
Geschrieben
vor 30 Minuten schrieb theloc866:

Die Migration auf wÀre in der Tat schon etwas aufwÀndiger (> 100 PT). Gerade weil es viele kundenspezifische Anpassungen gibt. 

Ok, also ein hochgradig individualisiertes System, das mit den (mindest-(?))Anforderungen nicht performant lĂ€uft, wahrscheinlich nie lief, fĂŒr den Kunden geschĂ€ftskritisch ist(?), relativ regelmĂ€ĂŸig tĂ€glich abschmiert, und bei dem es dem Kunden zu teuer ist, dafĂŒr zu sorgen (oder sorgen zu lassen) dass es anstĂ€ndig lĂ€uft?

Kann man das so sagen?

Bringt der Kunde wirklich so viel Geld ein, dass sich die grauen Haare lohnen?

  • 0
Geschrieben
vor 22 Minuten schrieb charmanta:

100 PT fĂŒr nen Webserverupdate, goil

Um MissverstÀndnisse zu vermeiden: Die Rede ist von >100 PT bei der Migration der Kunden-Anwendung, nicht von einem Webserver-Update :)

  • 0
Geschrieben
vor 44 Minuten schrieb Maniska:

Ok, also ein hochgradig individualisiertes System, das mit den (mindest-(?))Anforderungen nicht performant lĂ€uft, wahrscheinlich nie lief, fĂŒr den Kunden geschĂ€ftskritisch ist(?), relativ regelmĂ€ĂŸig tĂ€glich abschmiert, und bei dem es dem Kunden zu teuer ist, dafĂŒr zu sorgen (oder sorgen zu lassen) dass es anstĂ€ndig lĂ€uft?

Kann man das so sagen?

Bringt der Kunde wirklich so viel Geld ein, dass sich die grauen Haare lohnen?

Willkommen in meiner (Arbeits-) Welt :) Relativ gut zusammengefasst. 

Weiß ja selbst, dass das nicht alles optimal, ökonomisch ect. ist. 

Nichtsdestotrotz habe ich die Wunsch-Vorstellung, das genannte Verhalten (Hohe System-Auslastung) besser bzw. genauer analysieren zu können und nicht mich einfach damit nur zufrieden zu geben: "Die Kiste ist zu schwach, Betriebssystem zu alt..." 

Was nicht heißen soll, dass es unter dem Strich so ist.

  • 0
Geschrieben
Gerade eben schrieb allesweg:

Das ist keine angepasste Kundenanwendung mehr, das ist eine hysterisch gewucherte Individuallösung, welche außerhalb jeglicher Parameter rumoxydiert

Das kann und mag ja auch sein. Hilft mir - bei allem nötigen Respekt - beim Troubleshooting aber auch nicht weiter. 

  • 0
Geschrieben

korrekt. Also zurĂŒck zum Thema ...

Wie ich der Prozessliste entnehmen kann lÀuft da auch icinga und splunk drauf.

Ich bin kein WIndows Spezi und mir fehlen die Win spezifischen Tools, aber da gibts sicher auch was.

- was passiert wenn sich die MĂŒhle hochschaukelt ? Du brauchst ne LangzeitĂŒberwachung der Prozesse samt Last und Speicherbedarf, parallel dazu Bild der Maschine mit Speicher / VMemory und Disk AktivitĂ€t. Das kann icinga wenn Du passende Überwachungen drauf has

- gibt es einen Auslöser ? Sprich kannst Du eine AktivitÀt oder einen bestimmten Zeitpunkt identifzieren ?

- was sagt die Splunk Auswertung der Logs ? Vermutlich zeigen die Eventlogs dass auch systemseitig irgendwas gegen den Poller fÀhrt ...

- Kannst Du Support bei M$ aufmachen ? WĂ€re auch noch ein Ansatz

  • 0
Geschrieben

Man könnte auch einen anderen Weg probieren und versuchen, sofern man eine gute Daten- und Systemsicherung hat, die Anwendung auf eine andere Infrastruktur zu transplantieren.

Klar, bei einer Testmigration ist man schon fast in einer Echtmigration. Der Migrationsfad könnte aber mögliche Fehlerquellen offenbaren. Zumindest könnte man dann heraus finden, ob sich bei Änderung der darunter liegenden Infrastruktur das Verhalten Ă€ndert. Sofern man die "Anwendung" als Black Box betrachtet, schon mal ein erster Ansatzpunkt.

  • 0
Geschrieben

ZunĂ€chst Danke fĂŒr deine konstruktiven Anmerkungen bzw. Hinweise. PrĂŒfe ich mal im Detail.

vor 7 Minuten schrieb charmanta:

gibt es einen Auslöser ? Sprich kannst Du eine AktivitÀt oder einen bestimmten Zeitpunkt identifzieren ?

Ich habe ja irgendwie das GefĂŒhl, dass irgendein WebPortal-Aufruf eines Anwenders den genannten Effekt verursacht. Das vielleicht irgendeine Abfrage mitverantwortlich sein könnte.

Gibt es Möglichkeiten, dass genauer herauszufinden? Ich will ja gar nicht kategorisch ausschließen, dass in den "Codes / Abfragen" ein "Fehler" steckt.

vor 10 Minuten schrieb charmanta:

was sagt die Splunk Auswertung der Logs ? Vermutlich zeigen die Eventlogs dass auch systemseitig irgendwas gegen den Poller fÀhrt ...

Hast du vielleicht einen Tipp, wonach ich in den Evenlogs genau Ausschau halten könnte? Aufgrund der fehlenden Erfahrung, suche ich ja hier nach jedem helfenden Strohhalm. :)

Danke im Voraus - weiß die Hilfe zu schĂ€tzen.

  • 0
Geschrieben
vor 17 Minuten schrieb theloc866:

Ich habe ja irgendwie das GefĂŒhl, dass irgendein WebPortal-Aufruf eines Anwenders den genannten Effekt verursacht. Das vielleicht irgendeine Abfrage mitverantwortlich sein könnte.

lÀuft das vlt ne Datenbank drunter die sich die Karten legt ?

Sorry, Debugging von WIn ist nicht meins ... aber hier tummeln sich bestimmt genug andere M$ Kenner. @Maniska ?

  • 0
Geschrieben
vor 5 Stunden schrieb charmanta:

lÀuft das vlt ne Datenbank drunter die sich die Karten legt ?

Sorry, Debugging von WIn ist nicht meins ... aber hier tummeln sich bestimmt genug andere M$ Kenner. @Maniska ?

ja dem ist in der Tat so. 

Eine SQL-DB. Es gibt eine SQL-DB, eine Webserver und entsprechende (Master-)Jobserver fĂŒr die erwĂ€hnte (Kunden-)Anwendung.

  • 0
Geschrieben (bearbeitet)
vor 7 Stunden schrieb theloc866:

Gibt es Möglichkeiten, dass genauer herauszufinden?

da gibt es hier etwas lesestoff: https://stackify.com/w3wp-high-cpu-usage/

Geht die last irgendwann von selbst runter?

um deinen aufwand mit dem problem zu reduzieren kannst du den AppPool automatisch neu starten lassen.

image.png.1669258e65c0d22d9a1c7e473e0825f1.png

Das findest du unter den erweiterten Einstellungen des Pools. Wenn die CPU im Limitzeitraum immer ĂŒber dem Grenzwert liegt, wird die Limitaktion ausgefĂŒhrt. Dort gibst du dann KillW3wp an. Da es in dem Moment eh zu spĂ€t ist fĂŒr die Sessions, ist es dann auch egal. 

 

PS: du kannst auch in der SQL-DB im AktivitÀtsmonitor schauen ob es Querys gibt die hÀngen, gelockt sind oder einfach ewig benötigen.

Bearbeitet von _n4p_
  • 0
Geschrieben

Auch an dich vorab ein Dankeschön fĂŒr deine RĂŒckmeldung! Ich bin mir durchaus bewusst, dass gerade in der IT es nicht immer so einfach ist, Fehler "einfach" mal einzugrenzen und dass es selten "die eine Lösung" gibt. Oft ist ein Zusammenspiel aus mehreren UmstĂ€nden.

 

vor 25 Minuten schrieb _n4p_:

da gibt es hier etwas lesestoff: https://stackify.com/w3wp-high-cpu-usage/

Danke fĂŒr den Tipp! Lese ich mich da mal durch.

vor 25 Minuten schrieb _n4p_:

Geht die last irgendwann von selbst runter?

Nein. 

vor 26 Minuten schrieb _n4p_:

um deinen aufwand mit dem problem zu reduzieren kannst du den AppPool automatisch neu starten lassen.

image.png.1669258e65c0d22d9a1c7e473e0825f1.png

Das findest du unter den erweiterten Einstellungen des Pools. Wenn die CPU im Limitzeitraum immer ĂŒber dem Grenzwert liegt, wird die Limitaktion ausgefĂŒhrt. Dort gibst du dann KillW3wp an. Da es in dem Moment eh zu spĂ€t ist fĂŒr die Sessions, ist es dann auch egal.

Klingt mega, schaue ich mir an und prĂŒfe ich. DANKE!!

 

vor 26 Minuten schrieb _n4p_:

du kannst auch in der SQL-DB im AktivitÀtsmonitor schauen ob es Querys gibt die hÀngen, gelockt sind oder einfach ewig benötigen.

Die Problematik mit der Datenbank wollte ich noch gar nicht aufmachen bzw. erwÀhnen, da ich dachte, dass es dann noch komplizierter wird. 

Dort haben wir regelmÀssige "Headblocker" (Ich hoffe, dass ist der korrekte Ausdruck.) Ich muss dann diese manuell "killen", damit die Prozess-Verarbeitung endlich weitergeht. Im AktivitÀtsmonitor sehe ich ja unter Details dann auch die entsprechenden Querys. Im Groben kann ich mit denen auch etwas anfangen bzw. zuordnen. 

Da ich das System von "heute auf morgen" ĂŒbernommen habe, ist es fĂŒr mich dennoch schwierig, herauszufinden, was an den Queries so komplex ist.

  • 0
Geschrieben
vor 3 Minuten schrieb theloc866:

was an den Queries so komplex ist.

dafĂŒr kannst du dir den ausfĂŒhrungsplan anzeigen lassen. Entweder per rechtsklick auf die abfrage selbst, oder du kopierst die abfrage aus den details des prozesses. den prozess selbst kannst du dir auch mit dem sql profiler ansehen.

  • 0
Geschrieben
vor einer Stunde schrieb _n4p_:

dafĂŒr kannst du dir den ausfĂŒhrungsplan anzeigen lassen. Entweder per rechtsklick auf die abfrage selbst, oder du kopierst die abfrage aus den details des prozesses. den prozess selbst kannst du dir auch mit dem sql profiler ansehen.

Das werde ich bei dem nĂ€chsten "Headblock" mal testen. FĂŒr den SQL Profiler habe ich leider auf der PRD nicht ausreichend Rechte...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto fĂŒr unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die grĂ¶ĂŸte IT-Community
rund um Ausbildung, Job, Weiterbildung fĂŒr IT-FachkrĂ€fte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard fĂŒr Fachinformatiker und IT-FachkrĂ€fte

×
×
  • Neu erstellen...