Оптимальная длительность кэша ASP.Net для большого сайта? - PullRequest
3 голосов
/ 02 июня 2010

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

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

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

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

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

Следует ли вообще кэшировать большое, но редко доступное содержимое?

Ответы [ 2 ]

2 голосов
/ 03 июня 2010

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

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

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

0 голосов
/ 02 июня 2010

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

...