2008-12-05 19 views
13

Estoy usando la memoria caché de ASP.net en un proyecto web, y estoy escribiendo una página de "estado" que muestra los elementos en la memoria caché, y tantas estadísticas sobre la memoria caché como puedo encontrar. ¿Hay alguna manera de que pueda obtener el tamaño total (en bytes) de los datos en caché? El tamaño de cada artículo sería incluso mejor. Quiero mostrar esto en una página web, así que no creo que pueda usar un contador de rendimiento.Cómo determinar el tamaño total de la caché ASP.Net?

Respuesta

16

Busco en mi monitor de rendimiento y bajo las Aplicaciones ASP.NET v2.0.50727 categoría I tienen las siguientes relacionadas con la caché contadores:

caché Límite de memoria% máquina que se utiliza

caché % Límite de memoria de proceso usado

También hay muchas otras métricas relacionadas con la memoria caché en esta categoría.

Estos deberían ser capaces de obtener el porcentaje, luego, si puede obtener el total permitido con Cache.EffectivePrivateBytesLimit o alguna otra llamada, debería ser capaz de resolverlo. No tengo experiencia personal con estos contadores, así que tendrás que investigar y probar para verificar.

Aquí es un artículo de inicio rápido en la lectura de los contadores de rendimiento: http://quickstart.developerfusion.co.uk/quickstart/howto/doc/PCRead.aspx

+3

PerformanceCounter pc = new PerformanceCounter ("Aplicaciones ASP.NET", "Caché% Límite de memoria de la máquina utilizada", verdadero); pc.InstanceName = "__TOTAL__"; CacheMachineMemoryLimitUsedLiteral.Text = string.Format ("{0: 0.00}%" , pc.NextValue()); –

+1

Nota, debido a Markdown, el código de Mike debe tener dos guiones bajos al inicio y al final de "__OTO____" – Spongeboy

+0

marcado en los comentarios. lo mismo que existe en los mensajes, simplemente agregue el 'antes y después del código que se usará como 'código' ... para este ejemplo:' pc.InstanceName = "__Total __"; 'bruja se puede leer desde [MSDN] (http : //msdn.microsoft.com/en-us/library/fxk122b4 (v = vs.100) .aspx) – balexandre

0

No lo he intentado. Pero tal vez puedas usar Cache Manager plug-in for ASP.NET. O úsalo como ejemplo.

+4

Este sitio web dañar los ojos: P –

+0

Este enlace está muerto y no podía encontrar el artículo en el sitio ASP Alianza :( – MikeJ

Cuestiones relacionadas