2009-09-12 15 views
3

Я в активной разработке веб-приложения ASP.NET, использующего кеширование на стороне сервера, и я пытаюсь понять, как я могу контролировать размер этого кеша во время некоторого тестирования масштаба. В кэше хранятся XML-документы разных размеров, некоторые из которых имеют несколько мегабайт.Как определить размер в байтах кэша ASP.NET?

На System.Web.Caching.Cache объекта System.Web.Caching имен я вижу различные свойства, в том числе Count, который получает «количество элементов, хранящихся в кэше» и EffectivePrivateBytesLimit, который получает «количество байтов, доступных для кэша.» Ничто не говорит мне размер в байтах кеша.

В разделе Understanding Caching Technologies руководства «Руководство по архитектуре кеширования для приложений .NET Framework» имеется раздел «Управление объектом кэширования» с таблицей (Таблица 2.2: Счетчики производительности приложений для мониторинга кеша) с указанием набора от счетчиков производительности приложения, но я не вижу никаких данных, которые дают мне текущий размер кеша.

Что такое хороший способ найти размер этого кеша? Должен ли я установить ограничение на байты в кеше и посмотреть на одну из оборотов? Я думаю об этой проблеме не так? Является ли ответ How to determine total size of ASP.Net cache действительно лучшим способом?

ответ

1

Я собирался дать менее подробную информацию об answer, на которую вы ссылаетесь в своем вопросе, пока я не прочитал это. Я хотел бы направить вас к этому, кажется, мне кажется. Не лучше, чем видеть физический размер на сервере, все остальное может быть неточным.

Возможно, вы захотите настроить мониторинг, для которого сценарий Powershell может быть удобен для записи и отправки на себя в отчете. Таким образом, вы можете запускать различные тесты в одночасье и сказать их.

На боковой ноте они звучат как очень большие документы, которые нужно положить в кеш памяти. Рассматривали ли вы disk based cache для этих более крупных предметов и оставляете память для более мелких предметов, которые более подходят для нее. Если ваши диски достаточно быстрые, это должно быть достаточно эффективным.

+0

Есть ли какой-либо встроенный класс .NET для кеша на диске, который я должен искать? –

+0

@ Кевину было любопытно, и вы тоже можете найти это интерес, это несколько лет назад, но все еще кажется текущим. http://blogs.msdn.com/dmitryr/archive/2005/12/13/503411.aspx – dove

+0

@ спасибо за ссылки - сообщение в блоге dmitryr ссылается на проект CodePlex, который больше не существует: http://www.codeplex.com/AspNetDiskOutputCach –

Смежные вопросы