Извините, если это скорее сбой сервера, чем переполнение стека. Вроде на границе.
У нас есть приложение, которое кэширует большой объем данных о продукте для приложения электронной коммерции с использованием кэширования ASP.NET. Это объект словаря с 65 тысячами элементов, и по нашим расчетам размер объекта составляет примерно 10 ГБ.
Проблема:
Объем памяти, который потребляет объект, кажется, намного превышает наши расчеты в 10 ГБ.
САМАЯ БОЛЬШАЯ ПРОБЛЕМА: мы не можем использовать более 60% из 32 ГБ на сервере.
Что мы уже пробовали:
В machine.config/system.web (sf не разрешает теги, простите за форматирование):
processModel autoConfig="true" memoryLimit="80"
В web.config/system.web/caching/cache (sf не разрешает теги, извините за форматирование):
privateBytesLimit = "20000000000" (and 0, the default of course)
percentagePhysicalMemoryUsedLimit = "90"
Окружающая среда: Windows 2008R2 x64, 32 ГБ ОЗУ, IIS7.
Кажется, ничто не позволяет нам превысить значение 60%. Смотрите скриншот таскмана.