2008-12-05 6 views
13

Ich verwende den ASP.net-Cache in einem Webprojekt, und ich schreibe eine "Status" -Seite dafür, die die Elemente im Cache zeigt, und so viele Statistiken über den Cache, wie ich finden kann. Gibt es eine Möglichkeit, die Gesamtgröße (in Bytes) der zwischengespeicherten Daten zu erhalten? Die Größe jedes Artikels wäre noch besser. Ich möchte dies auf einer Webseite anzeigen, daher glaube ich nicht, dass ich einen Leistungsindikator verwenden kann.Wie wird die Gesamtgröße des ASP.Net-Cache ermittelt?

Antwort

16

Ich betrachte meine Leistung zu überwachen und unter die ASP.NET Apps v2.0.50727 Kategorie I sind die folgenden Cache bezogenen Zähler:

Cache% Maschine Memory Limit Gebrauchte

Cache % Process Memory Limit Used

Es gibt auch viele andere Cache-bezogene Metriken in dieser Kategorie.

Diese sollten Sie den Prozentsatz der Lage sein, dann zu erhalten, wenn Sie die Gesamt mit Cache.EffectivePrivateBytesLimit oder einige andere nennen erlaubt bekommen können, sollten Sie in der Lage sein, um es herauszufinden. Ich habe keine persönlichen Erfahrungen mit diesen Zählern, so dass Sie einige Nachforschungen und Tests durchführen müssen, um dies zu überprüfen.

ist hier ein schnellen Start Artikel über von Leistungsindikatoren zu lesen: http://quickstart.developerfusion.co.uk/quickstart/howto/doc/PCRead.aspx

+3

Performance pc = neuer PerformanceCounter ("ASP.NET-Anwendungen", "Cache% -Maschinenspeichergrenze verwendet", true); pc.InstanceName = "__TOTAL__"; CacheMachineMemoryLimitUsedLiteral.Text = Zeichenfolge.Format ("{0: 0.00}%" , pc.NextValue()); –

+1

Beachten Sie, dass aufgrund von Markdown, Mike's Code zwei Unterstriche am Anfang und Ende von "__TOTAL__" – Spongeboy

+0

Markdown in Kommentaren haben sollte die gleichen, die in Nachrichten existieren, fügen Sie einfach das 'vor und nach dem Code, der als" Code "verwendet werden soll ... für dieses Beispiel ein:' pc.InstanceName = "__Total __"; das kann aus [MSDN] (http : //msdn.microsoft.com/en-us/library/fxk122b4 (v = vs.100) .aspx) – balexandre

0

Habe es nicht versucht. Aber vielleicht können Sie Cache Manager plug-in for ASP.NET verwenden. Oder benutze es als Beispiel.

+4

Diese Webseite meinen Augen weh tun: P –

+0

Dieser Link ist tot, und ich kann den Artikel nicht auf der ASP-Alliance-Website finden :( – MikeJ