Как определить размер в байтах ASP.NET Cache? - PullRequest
3 голосов
/ 12 сентября 2009

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

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

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

Какой хороший способ найти размер этого кэша? Нужно ли устанавливать ограничение в байтах для кэша и смотреть на один из показателей оборота? Думаю ли я об этой проблеме неправильно? Является ли ответ на вопрос Как определить общий размер кэша ASP.Net действительно лучшим способом?

1 Ответ

1 голос
/ 12 сентября 2009

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

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

Кстати, они звучат как очень большие документы, помещаемые в кэш-память. Рассматривали ли вы дисковый кэш для этих более крупных предметов и оставляли память для более мелких предметов, что для него более идеально. Если ваши диски достаточно быстрые, это должно быть довольно производительно.

...