Czy korzystasz z liczników wydajności w produkcyjnych witrynach IIS?

13

Czy utrzymujesz licznik WŁĄCZONY podczas dużych obciążeń produkcyjnych?
Które liczniki wydajności uważasz za przydatne na stronach ASP.Net/IIS 6.0?

Kb.
źródło

Odpowiedzi:

29

Nigdy nie miałem problemów z uruchomieniem liczników wydajności na moich serwerach.

Microsoft sugeruje obserwowanie następujących liczników dla IIS :

  • Pamięć \ Strony / sek
  • Pamięć \ Dostępne bajty
  • Pamięć \ Zatwierdzone bajty
  • Pamięć \ Bajty niestronicowane puli
  • Procesor \% Czas procesora
  • Procesor \ Przerwania / sek
  • Długość kolejki procesora \ Systemu
  • LogicalDisk \% Czas dysku
  • Dysk fizyczny \% czasu dysku
  • LogicalDisk \ Avg. Długość kolejki dyskowej
  • Dysk fizyczny \ Śr. Długość kolejki dyskowej
  • LogicalDisk \ Avg. Bajty / przesyłanie dysku
  • Dysk fizyczny \ Śr. Bajty / przesyłanie dysku
  • System \ Context Switches / sec
  • Usługa sieciowa \ Bajty ogółem / s
  • Usługa sieciowa \ Całkowita liczba żądań metod / s
  • Usługa sieciowa \ Bieżące połączenia
  • Pamięć podręczna usługi sieci Web \ Ilość pamięci podręcznej plików
  • Pamięć podręczna usług internetowych \ Jądro: brak pamięci podręcznej URI
  • Pamięć podręczna usługi sieci Web \ Jądro: liczba trafień pamięci podręcznej URI%

Chciałbym obejrzeć specjalnie dla ASP.NET

  • ASP.NET \ Aplikacja uruchomi się ponownie
  • ASP.NET \ Żądania w kolejce
  • ASP.NET \ Proces roboczy uruchomi się ponownie
  • Aplikacje ASP.NET \ Błędy łącznie
  • Aplikacje ASP.NET \ Żądania / Sec
  • Aplikacje ASP.NET \ Liczba wystąpień potoku
  • Wyjątki .NET CLR Liczba zgłoszonych wyjątków
splattne
źródło
@splattne: Dzięki, to jest przydatne. Daje +1 (ale jeszcze nie jest w stanie).
Kb.
Prowadzimy testy warunków skrajnych i stwierdzamy, że liczba żądań w kolejce jest nieco poniżej bieżących żądań, a przy 100 równoczesnych żądaniach użytkowników jest około 110, a liczba żądań w kolejce wynosi około 99. Serwer z jednym procesorem.
Kb.
Sugerowana jest: Dodaj procesor. Zgodzić się?
Kb.
6

Zasadą ogólną powinno być gromadzenie danych o wydajności przez cały czas. W ten sposób będziesz mieć wszystkie potrzebne dane, kiedy wejdziesz do biura swojego kierownika i powiesz: „Nasze szczytowe obciążenie wzrasta o X% co tydzień w ciągu ostatnich kilku miesięcy, i w tym tempie przekroczymy naszą obecną pojemność w około 3 miesięcy. Teraz musimy zacząć to planować. ”

pgs
źródło
2

Mimo późnej odpowiedzi, dzielę się tutaj tym, co zrobiliśmy ze środowiskiem produkcyjnym.
Scenariusz był taki, że musieliśmy sprawdzić liczbę trafień żądań na naszym serwerze internetowym i liczbę obsługiwanych / czy występuje głód wątku / wąskie gardło zasobów, czy nie.
W tym celu wykorzystaliśmy następujące liczniki z licznikiem perfmon.exe

: - Asp.Net Apps V2.0.50727.
Instancja: - LM_W3SVC_1_ROOT_ „HostedWebSite”
1). Całkowita liczba żądań: - Podaje całkowitą liczbę żądań od ostatniego restartu IIS.
2). Żądania w kolejce aplikacji
3). Wnioski zakończone powodzeniem
4). Żądania nie powiodły się
3). Żąda TimedOut
4). Odrzucone żądania: liczba odrzuconych żądań z powodu kolejki żądań aplikacji była pełna
5). Nie znaleziono żądań: liczba żądań zasobów, które nie zostały znalezione.
6). Żądania nieautoryzowane: liczba żądań nie powiodła się z powodu nieautoryzowanego dostępu.

Licznik: - .Net CLR Data.
1). Klient Sql: bieżące # połączenia w puli i bez puli: - Podaje bieżącą liczbę połączeń, w puli lub bez.

Licznik: - .Net CLR LocksAndThreads.
1).
Liczba wątków logicznych 2). Liczba liczników wątków fizycznych

: - Kolejki żądań usługi HTTP
1). CurrentQueueSize: - Liczba żądań w kolejce
2). RejectedRequests: całkowita liczba żądań odrzuconych z kolejki

Sunil
źródło