Я ничего не знаю о SQL, я собираюсь выложить это там. Наши разработчики сказали, что это проблема ОС. Можете ли вы помочь мне понять, с чего начать, чтобы определить, проблема ли это в ОС? Очевидно, что SQL не блокирует память в файлах подкачки, поэтому мы не видим высокой загрузки SQLserver.exe.
SQL Server 2008 R2 Microsoft Server 2008 R2 CPU - Intel Xeon x6550 - 2,93 ГГц (2 процессора) Память - 20 ГБ
Использование ЦП - в среднем 89% Использование памяти - в среднем 10%
Судя по всей опубликованной вами информации, я на 99% уверен, что они выполняют только запросы T-SQL. Я готов поспорить, что это запросы, сгенерированные кодом, и что-то выдает запрос с тысячей JOIN или аналогичным.
Пусть разработчики профилируют свои запросы; Готов поспорить, что та или иная функция занимает очень много времени, и это основная причина скачка загрузки процессора.
Вы не упомянули выпуск SQL Server, но я предполагаю, что здесь его стандарт. Включили ли вы флаг трассировки 845 для использования страниц блокировки в памяти. Эта TF по-прежнему требуется в SQL Server 2008 R2, см. Примечания Аарона Бертрана ниже.
Также проверьте, что еще работает на коробке?
Если загрузка ЦП вызвана процессом sqlservr.exe (а не другими процессами или ядром, вы можете проверить это, используя Обозреватель процессов) и вы не видите загрузки диска, вероятно, это не проблема с ОС, а просто вычислительная нагрузка, вызванная запросами.
Насколько велика рассматриваемая база данных?
чувак, если у тебя 100% загрузка процессора, то тебе, скорее всего, не хватает индексов. Узнайте, как запустить советник по настройке базы данных, чтобы построить оптимальные индексы.
надеюсь, это поможет
-Аарон Кемпф MCITP: администратор баз данных