Оптимальная продолжительность кеширования ASP.Net для большого сайта?

Я прочитал много материалов о том, как выполнять кэширование ASP.Net, но мало о том, какова оптимальная продолжительность кеширования страниц.

Допустим, у меня есть популярный сайт с 50 000 страниц. Контент не меняется часто, поэтому при желании я мог бы кэшировать страницы на срок до часа. На сервере 16 ГБ ОЗУ, но количество подключений к базе данных ограничено.

Как долго страницы должны храниться в кеше?

Я считаю, что если я установлю слишком большую продолжительность кеширования (скажем, 60 минут), я заполню память частью общего содержимого, которое будет постоянно вставляться и выгружаться из памяти.

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

Следует ли вообще кэшировать многочисленный, но редко используемый контент?


person David Veksler    schedule 02.06.2010    source источник


Ответы (2)


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

Это будет сочетание опыта, предположений, мониторинга и дополнительных настроек, чтобы найти оптимальное место для кеширования для любого конкретного приложения.

Похоже, вы уже поняли, что может случиться, поэтому я бы начал с кеширования 10%, которые представляют ваш высокий трафик, и оттуда оптимизирую. Вы можете или не можете найти какой-либо прирост производительности в дальнейшем с вашим менее используемым контентом, но сначала приложите усилия к основным оптимизациям.

person womp    schedule 02.06.2010

Один из вариантов - использовать какое-то кэширование диска, а не кэширование памяти, по крайней мере, для редко посещаемых страниц. Но в целом цель кеширования состоит в том, чтобы поддержать запрос, который, вероятно, будет выполнен снова через короткое время. Так что я бы, конечно, отдал предпочтение часто запрашиваемым страницам.

person joelt    schedule 02.06.2010