Веб-приложение для хранения изображений в базе данных.
В нашей первой установке мы хранили (и обслуживали) изображения из базы данных, размер которой был изменен в кэше asp.net. Это было все хорошо, но когда в Интернете стало появляться все больше и больше хитов, мы начали испытывать странные проблемы, и под странными я имею в виду странные - от сбоя w3p без каких-либо подробностей до случайных исключений OutOfMemoryException, возникающих повсюду пару раз в день.
Я подозревал, что кеш asp.net может быть использован нами здесь неправильно, поэтому я переписал кеширование изображений, чтобы перейти к файловой системе. Наш обработчик изображений теперь проверяет наличие измененного изображения в каталоге кеша, если такого изображения не существует, извлекает его из базы данных, сохраняет его в каталоге кеша и обслуживает его оттуда.
Меня беспокоит использование памяти w3p для этого веб-сайта. Раньше, когда мы использовали объект кэша asp.net, типичное использование памяти для w3p составляло около 600 МБ. Теперь, когда обработчик обслуживает изображения из файловой системы, типичное использование памяти составляет около 750 МБ. Каким-то образом я ожидал, что он снизится (хотя бы немного), но определенно не повысится. Есть ли какое-то объяснение этому?
Во-вторых, есть ли способ проверить процесс w3p, чтобы увидеть, сколько памяти используется для чего? Одна вещь, которая приходит на ум, - это счетчики производительности, но у них не было времени проверить это.