2012-10-23 17 views
6

Podczas monitorowania liczników wydajności podczas testu obciążenia aplikacji internetowej .NET, domyślny próg krytyczny wynoszący 10 był stale przekraczany dla licznika o nazwie "% Time in RT checks".% Czas w testach RT

Dlaczego warto spędzać dużo czasu na sprawdzaniu w czasie wykonywania?
Co to może powiedzieć o naszej aplikacji? Jak to poprawić?

+1

Nie jest to prawdziwa odpowiedź, ale widziałem [to] (http://social.msdn.microsoft.com/forums/en-US/vststest/thread/a976fa4b-fe8d-44da-8a45-247f26b8a8d1)? –

+0

Tak, tak, dziękuję za link. – carrier

Odpowiedz

9

Ten próg niekoniecznie oznacza złą wydajność (w zależności od tego, co robisz, 10% czasu przetwarzania może nie być zbyt duże!).

Istnieje inny powiązany licznik "Sprawdzanie sumy czasu pracy." Ten licznik wyświetla rzeczywistą liczbę sprawdzeń w czasie wykonywania (jest to udokumentowane here). Jeśli wartość w tym liczniku jest niska, to prawdopodobieństwo, że nie masz problemu. Jeśli jest wysoka (lub szybko rośnie w niektórych punktach aplikacji), być może masz problem, który warto zbadać.

Te "kontrole czasu wykonywania" to kontrole bezpieczeństwa dostępu do kodu, które są wykonywane, gdy kod prosi o konkretne zezwolenie CAS z środowiska wykonawczego. Jeśli Twój kod jest złożony lub działa w ograniczonym zaufaniu, może się okazać, że wysyłasz wiele próśb i że możesz potencjalnie zrestrukturyzować swój kod w celu zoptymalizowania tych kodów. Z pewnością jednak stwierdzę, że jest to problem, zanim zajrzy się zbyt głęboko, ponieważ nie zawsze jest to prosta optymalizacja.

+0

Dzięki za odpowiedź ... czy możesz podać przykład kodu z zapytaniem "o konkretną zgodę CAS z środowiska wykonawczego"? – carrier

+0

Przykładami mogą być rejestr lub dostęp do plików, na które nieuprawniona aplikacja może nie mieć pozwolenia. Dokumentacja MS (lub przynajmniej punkt wyjścia) jest [tutaj] (http://msdn.microsoft.com/en-us/library/930b76w0.aspx). –