2012-10-23 7 views
6

Beim Überwachen der Leistungsindikatoren während des Auslastungstests einer .NET-Webanwendung wurde der standardmäßige kritische Schwellenwert von 10 für einen Zähler mit der Bezeichnung "% Zeit bei RT-Prüfungen" konstant überschritten.% Die Zeit in RT überprüft

Warum ist es schlecht, viel Zeit mit Laufzeitprüfungen zu verbringen?
Was könnte dies über unsere Anwendung sagen? Wie soll das verbessert werden?

+1

Keine wirkliche Antwort, aber [haben] (http://social.msdn.microsoft.com/forums/en-US/vststest/thread/a976fa4b-fe8d-44da-8a45-247f26b8a8d1) gesehen? –

+0

Ja habe ich eigentlich, danke für den Link trotzdem. – carrier

Antwort

9

Dieser Schwellenwert ist nicht unbedingt ein Hinweis auf eine schlechte Leistung (je nachdem, was Sie sonst noch machen, sind 10% Ihrer Verarbeitungszeit möglicherweise nicht sehr viel!).

Es gibt einen anderen verwandten Zähler, "Total Runtime checks." Dieser Zähler zeigt die tatsächliche Anzahl der Laufzeitprüfungen an (dokumentiert ist here). Wenn der Wert in diesem Zähler niedrig ist, besteht die Wahrscheinlichkeit, dass kein Problem vorliegt. Wenn es hoch ist (oder an bestimmten Punkten in Ihrer App schnell ansteigt), haben Sie möglicherweise ein Problem, das es zu untersuchen lohnt.

Diese "Laufzeitprüfungen" sind die Codezugriffssicherheitsprüfungen, die durchgeführt werden, wenn Ihr Code nach einer bestimmten CAS-Berechtigung von der Laufzeit fragt. Wenn Ihr Code komplex ist oder nur eingeschränkt vertrauenswürdig ist, stellen Sie möglicherweise fest, dass Sie viele Anforderungen stellen und dass Sie möglicherweise Ihren Code neu strukturieren können, um diese zu optimieren. Ich würde jedoch sicher sein, dass dies ein Problem ist, bevor ich zu tief hinschaue, da es nicht immer eine einfache Optimierung ist.

+0

Vielen Dank für Ihre Antwort ... können Sie ein Beispiel für Code geben, der "nach einer bestimmten CAS-Persmission von der Laufzeit" fragt? – carrier

+0

Beispiele können die Registrierung oder der Dateizugriff sein, für die eine nicht privilegierte Anwendung möglicherweise keine Berechtigung hat. MS-Dokumentation (oder zumindest ein Startpunkt) ist [hier] (http://msdn.microsoft.com/en-us/library/930b76w0.aspx). –

Verwandte Themen