Как определить размер в байтах ASP.NET Cache?
-
06-07-2019 - |
Вопрос
Я активно занимаюсь разработкой веб-приложения ASP.NET, использующего кэширование на стороне сервера, и пытаюсь понять, как я могу контролировать размер этого кэша во время некоторого масштабного тестирования. В кеше хранятся документы XML разных размеров, некоторые из которых имеют размер в несколько мегабайт.
В System.Web.Caching.Cache объект System.Web.Caching пространство имен. Я вижу различные свойства, в том числе Count , который получает «количество элементов, хранящихся в кеше»; и EffectivePrivateBytesLimit , который получает " число байтов, доступных для кэша. " Ничто не говорит мне размер в байтах кэша.
В Общие сведения о технологиях кэширования раздела " Кэширование Руководство по архитектуре для приложений .NET Framework " В руководстве есть «Управление объектом кэша». раздел с таблицей (Таблица 2.2: Счетчики производительности приложений для мониторинга кэша), где перечислены набор счетчиков производительности приложений, но я не вижу ни одного, который бы указывал мне текущий размер кэша.
Какой хороший способ найти размер этого кэша? Нужно ли устанавливать ограничение в байтах для кэша и смотреть на один из показателей оборота? Думаю ли я об этой проблеме неправильно? Это ответ на Как определить общий размер кэша ASP.Net действительно лучший путь?
Решение
Я собирался дать менее подробный отчет о ответите , на который вы ссылаетесь в своем вопросе, пока я не прочитал это. Я хотел бы отослать вас к этому, кажется, место для меня. Нет лучшего способа, чем увидеть физический размер на сервере, все остальное может быть неточным.
Возможно, вы захотите настроить мониторинг , для которого может быть полезен сценарий Powershell для записи и отправки себе в отчет. Таким образом, вы можете провести различные тесты в одночасье, скажем, и обобщить его.
С другой стороны, они звучат как очень большие документы, помещаемые в кэш-память. Рассматривали ли вы диск на основе кэшируйте для этих более крупных предметов и оставляйте память для более мелких предметов, что для этого больше подходит. Если ваши диски достаточно быстрые, это должно быть довольно производительным.