2010-06-02 10 views
3

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

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

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

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

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

Должен ли кэшироваться многократный, но редко доступный контент?

ответ

0

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

2

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

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

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