Optymalizowanie ustawień profilera

Okno Profiler wydajności i narzędzia diagnostyczne w programie Visual Studio mają wiele różnych ustawień, które mają wpływ na ogólną wydajność narzędzi. Zmiana niektórych ustawień może spowodować szybkie uruchomienie analizy lub spowodować dodatkowe czasy oczekiwania podczas przetwarzania wyników w narzędziach. Poniżej znajduje się podsumowanie niektórych ustawień i ich wpływu na wydajność.

Ustawienia symboli

Ustawienia symboli znalezione w opcjach debugera (Symbole opcji > debugowania > lub Opcje > narzędzi > Debugowanie symboli debugowania>) mają znaczący wpływ na czas generowania wyników w narzędziach. Włączenie serwerów symboli lub użycie _NT_SYMBOL_PATH powoduje, że profiler żąda symboli dla każdego załadowanego modułu w raporcie. Obecnie profiler zawsze automatycznie ładuje wszystkie symbole niezależnie od preferencji automatycznego ładowania symboli.

Symbol loading page

Postęp ładowania symboli można zobaczyć w oknie Dane wyjściowe pod nagłówkiem Narzędzia diagnostyczne.

Symbol loading progress

Po pobraniu symbole są buforowane, co przyspieszy analizę w przyszłości, ale nadal wymaga ładowania i analizowania plików. Jeśli ładowanie symboli spowalnia analizę, spróbuj wyłączyć serwery symboli i wyczyścić pamięć podręczną symboli. Zamiast tego polegaj na symbolach utworzonych lokalnie dla projektu.

Pokaż kod zewnętrzny

Wiele narzędzi w oknie Profiler wydajności i Narzędzia diagnostyczne ma pojęcie kodu użytkownika i kodu zewnętrznego. Kod użytkownika to dowolny kod utworzony przez otwarte rozwiązanie lub otwarty obszar roboczy. Kod zewnętrzny to coś innego. Zachowując wyłączone ustawienie Pokaż kod zewnętrzny lub Pokaż tylko mój kod , możesz zezwolić narzędziom na agregowanie kodu zewnętrznego na pojedynczą ramkę pierwszego poziomu, co znacznie zmniejsza ilość przetwarzania wymaganego do wyświetlania wyników. Dzięki temu użytkownicy mogą zobaczyć, co zostało wywołane w kodzie zewnętrznym, które spowodowało spowolnienie, zachowując jednocześnie przetwarzanie danych do minimum. Jeśli to możliwe, pozostaw opcję Pokaż kod zewnętrzny wyłączony i upewnij się, że masz otwarte rozwiązanie lub obszar roboczy dla analizy diagsesji.

Czas trwania śledzenia

Profilowanie mniejszych czasów trwania powoduje zmniejszenie ilości danych, co jest szybsze do analizowania. Zazwyczaj zalecamy, aby spróbować ograniczyć ślady do nie dłuższych niż pięć minut danych wydajności. Niektóre narzędzia, takie jak narzędzie Użycie procesora CPU, umożliwiają wstrzymanie zbierania danych podczas działania narzędzia, dzięki czemu można ograniczyć ilość zebranych danych do scenariusza, który cię interesuje.

Częstotliwość próbkowania

Niektóre narzędzia, takie jak narzędzie użycie procesora CPU i narzędzie alokacji obiektów platformy NET, umożliwiają dostosowanie częstotliwości próbkowania. Zwiększenie tej częstotliwości próbkowania pozwala mierzyć dokładniej, ale zwiększa ilość wygenerowanych danych. Zazwyczaj najlepiej pozostawić to ustawienie z częstotliwością domyślną, chyba że zostanie zbadany konkretny problem.

Diag Hub Properties Page

Diag Hub Properties Page

Ustawianie folderu kolekcji

Profiler programu Visual Studio używa katalogu tymczasowego kolekcji do przechowywania śladów wydajności przed zapisaniem lub odrzuceniem. Domyślnie profiler używa katalogu tymczasowego. Można jednak określić inny katalog tymczasowy, otwierając najpierw okno Narzędzia diagnostyczne (Debugowanie>narzędzi diagnostycznych Pokaż narzędzia diagnostyczne systemu Windows>), a następnie wybierając pozycję Wybierz narzędzia> Ustawienia> Ogólne>Katalog plików tymczasowych.

Screenshot of profiler scratch directory.