Загрузка кеша перегружает базу данных - PullRequest
3 голосов
/ 23 февраля 2010

Когда мой сайт запускается, я открываю второй поток, который загружает много данных в кеш.

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

Есть ли хороший способ сказать моей теме, чтобы это было легко? Примерно так: Пожалуйста, перейдите на 50% или Пожалуйста, продолжайте загрузку только при небольшом давлении на DB?

Ответы [ 3 ]

1 голос
/ 23 февраля 2010

Обратите внимание на регулятор ресурсов в Sql Server 2008.

С его помощью вы можете настроить пул ресурсов, который может использовать ваш веб-сайт ASP.Net, и ограничить его до X% ресурсов. Вот пример настройки .

0 голосов
/ 23 февраля 2010

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

0 голосов
/ 23 февраля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...