Profilowanie środowiska uruchomieniowego
Uwaga
Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.
Profilowanie to metoda zbierania danych wydajności w dowolnym scenariuszu programowania lub wdrażania. Ta sekcja dotyczy deweloperów i administratorów systemu, którzy chcą zbierać informacje o wydajności aplikacji.
Śledzenie wydajności przy użyciu monitor wydajności (Perfmon.exe)
Monitor wydajności to najłatwiejsze narzędzie do profilowania aplikacji .NET Framework. Monitor wydajności graficznie reprezentuje dane znalezione w licznikach wydajności programu .NET Framework zainstalowanych przy użyciu środowiska uruchomieniowego języka wspólnego i zestawu Windows SDK. Te liczniki mogą służyć do monitorowania wszystkiego, od zarządzania pamięcią do wydajności kompilatora just in time (JIT). Informują o zasobach używanych przez aplikację, co jest pośrednią miarą wydajności aplikacji. Użyj tych liczników, aby zrozumieć, jak aplikacja działa wewnętrznie.
Aby uruchomić Perfmon.exe w systemie Windows Vista i nowszych wersjach
W wierszu polecenia wpisz perfmon. Zostanie wyświetlona konsola monitor wydajności.
W folderze Narzędzia monitorowania kliknij pozycję monitor wydajności.
Na pasku narzędzi monitor wydajności kliknij ikonę Dodaj (znak plus), jeśli jest obecny. Jeśli nie jest obecny, kliknij prawym przyciskiem myszy w oknie monitora i wybierz opcję Dodaj liczniki .
Spowoduje to otwarcie okna dialogowego Dodawanie liczników . W polu Listy Dostępne liczniki są wyświetlane dostępne obiekty wydajności. Istnieje wiele wstępnie zdefiniowanych obiektów dla aplikacji .NET Framework, w tym dla zarządzania pamięcią (.NET CLR Memory), współdziałania (.NET CLR Interop), obsługi wyjątków (wyjątki CLR platformy .NET) i wielowątków (.NET CLR LocksAndThreads). Każdy obiekt wydajności zawiera szereg poszczególnych liczników wydajności. Aby uzyskać listę liczników wydajności dostępnych w monitor wydajności, zobacz Liczniki wydajności.
Zaznacz pole wyboru obok nazwy obiektu wydajności, aby wyświetlić listę poszczególnych liczników wydajności, które obsługuje.
Kliknij licznik wydajności, który chcesz wyświetlić.
W polu Listy Wystąpień wybranego obiektu kliknij pozycję <Wszystkie wystąpienia> , aby określić, że chcesz monitorować licznik wydajności środowiska uruchomieniowego języka wspólnego globalnie (czyli w całym systemie).
— lub —
W polu Lista wystąpień wybranego obiektu kliknij nazwę aplikacji, aby monitorować licznik wydajności dla tej aplikacji.
Aby odróżnić wiele wersji środowiska uruchomieniowego lub uściślać wiele aplikacji o tej samej nazwie, należy również zmodyfikować klucz rejestru. Aby uzyskać więcej informacji, zobacz Liczniki wydajności i Aplikacje równoległe w procesie.
Uwaga
Po zainstalowaniu nowych liczników wydajności podczas uruchamiania konsoli wydajności zatrzymaj i uruchom ponownie konsolę wydajności, aby nowe liczniki zostały widoczne.
Jeśli chcesz profilować zestaw, który istnieje w strefie lub w udziale zdalnym, upewnij się, że zestaw zdalny ma pełne zaufanie na komputerze z uruchomionymi licznikami wydajności. Jeśli zestaw nie ma wystarczającego zaufania, liczniki wydajności nie będą działać. Aby uzyskać informacje na temat udzielania zaufania do różnych stref, zobacz Caspol.exe (Narzędzie zasad zabezpieczeń dostępu kodu).
Uwaga
W systemach, w których jest zainstalowany program .NET Framework 4, monitor wydajności może nie wyświetlać danych dla liczników wydajności w niektórych kategoriach, takich jak .NET CLR Data i .NET CLR Networking, dla aplikacji opracowanych przy użyciu programu .NET Framework 1.1. W takim przypadku można skonfigurować monitor wydajności w celu wyświetlenia tych danych, dodając <element forcePerformanceCounterUniqueSharedMemoryReads> do pliku konfiguracji aplikacji.
Programowe odczytywanie i tworzenie liczników wydajności
Program .NET Framework udostępnia klasy, których można użyć do programowego uzyskiwania dostępu do tych samych informacji o wydajności, które są dostępne w konsoli wydajności. Można również użyć tych klas do tworzenia niestandardowych liczników wydajności. W poniższej tabeli opisano niektóre klasy monitorowania wydajności, które są dostępne w programie .NET Framework.
Klasa | opis |
---|---|
System.Diagnostics.PerformanceCounter | Reprezentuje składnik licznika wydajności systemu Windows. Ta klasa służy do odczytywania istniejących wstępnie zdefiniowanych lub niestandardowych liczników oraz publikowania (zapisu) danych wydajności do liczników niestandardowych. |
System.Diagnostics.PerformanceCounterCategory | Udostępnia kilka metod interakcji z licznikami i kategoriami liczników na komputerze. |
System.Diagnostics.PerformanceCounterInstaller | Określa instalatora składnika PerformanceCounter . |
System.Diagnostics.PerformanceCounterType | Określa formułę, aby obliczyć metodę NextValue dla elementu PerformanceCounter . |