Пределы квоты хранилища Azure для кеширования Imageresizer
Я использую ImageResizer в качестве веб-приложения Azure с планом обслуживания с файловым хранилищем 50 ГБ. Мои настройки для DiskCache:
<diskcache dir="~/imagecache" autoclean="true" hashModifiedDate="true" subfolders="1024" asyncWrites="true" asyncBufferSize="10485760" cacheAccessTimeout="15000" logging="true"/>
Но это не останавливает папку imagecache, чтобы довольно быстро достичь предела в 50 Гб. У меня есть около 100 ГБ изображений в хранилище BLOB-объектов (исходный размер), не все будут использоваться в один и тот же день, однако одно и то же изображение может кэшироваться с разными параметрами несколько раз. Изображения кэшируются в среднем около 200 Кб?
Есть ли способ остановить заполнение хранилища так быстро? Может быть, есть лучший способ использования DiskCache? или использовать что-то еще? Премиум-планы с 250 Гб и достойным процессором / оперативной памятью слишком дороги, чтобы оправдать затраты на это.
Спасибо
1 ответ
Вы не можете ограничить кэш размером файла, только (очень) грубым подсчетом. Удаление кеша и установка подпапок ="256" должны держать вас под 50 ГБ, при условии, что среднее значение 200 КБ остается верным.
... Однако, если ваш кэш заполняется "быстро" (как в течение 1-3 дней), то вы, вероятно, столкнетесь с серьезным оттоком кэша и низкой производительностью, поскольку стремительно растут очереди записи на диск.
Вы можете рассмотреть возможность использования CDN, если не можете получить место для хранения, скажем, 10-дневных кэшированных файлов.