Основные проблемы с производительностью на нашем производственном SQL Server, как мне решить эту проблему?


11

Этот вопрос в основном является последующим вопросом к этому вопросу:
странная проблема с производительностью SQL Server 2016

Теперь мы стали продуктивно работать с этой системой. Хотя со времени моего последнего поста к этому SQL Server была добавлена ​​другая база данных приложений.

это статистика системы:

  • 128 ГБ ОЗУ (макс. Память 110 ГБ для SQL Server)
  • 4 ядра при 2,6 ГГц
  • 10 Гбит подключение к сети
  • Все хранилище на основе SSD
  • Программные файлы, файлы журнала, файлы базы данных и база данных tempdb находятся на отдельных разделах сервера.
  • Windows Server 2012 R2
  • Версия VMware HPE-ESXi-6.0.0-Update3-iso-600.9.7.0.17
  • VMware Tools версия 10.0.9, сборка 3917699
  • Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64) 28 октября 2016 г. 18:17:30 Авторские права (c) Microsoft Corporation Standard Edition (64-разрядная версия) на Windows Server 2012 R2 Standard 6.3 (сборка 9600:) (гипервизор)

введите описание изображения здесь

Наша система теперь имеет серьезные проблемы с производительностью. Очень высокая загрузка ЦП и количество потоков: введите описание изображения здесь

Ждите статистику активности монитора (знаю не очень надежно)

введите описание изображения здесь

Результаты sp_blitzfirst:

введите описание изображения здесь

Результаты sp_configure:

введите описание изображения здесь

Расширенные настройки сервера (к сожалению, только на немецком языке)

введите описание изображения здесь

Настройка MAXDOP была изменена мной.

Я знаю, что это не проблема с самим SQL Server . Вероятно, это проблема виртуализации (vmware), сети (я это уже проверял) или самого приложения. Я просто хочу закрепить это еще дальше.

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

Я предоставлю любую дополнительную информацию вам нужно. Заранее спасибо за вашу поддержку!

РЕДАКТИРОВАТЬ:

Результат sp_Blitz @OutputType = ‘markdown’, @CheckServerInfo = 1

Приоритет 1: Резервное копирование :

  • Резервное копирование на тот же диск, на котором находятся базы данных - за последние две недели было выполнено 5 резервных копий на диске E: \, где также хранятся файлы базы данных. Это представляет серьезный риск в случае сбоя этого массива.

Приоритет 1: Надежность :

  • Последний хороший DBCC CHECKDB старше 2 недель

    • babtec_prod - последний успешный CHECKDB: 2017-08-20 00: 01: 01.513

    • D3PR - последний успешный CHECKDB: никогда.

    • DEMO77 - последний успешный CHECKDB: 2016-02-23 20: 31: 38.590

    • FINP - последний успешный CHECKDB: 2017-04-23 22: 01: 19.133

    • GridVis_EnMs - последний успешный CHECKDB: 2017-05-18 22: 10: 48.120

    • мастер - последний успешный CHECKDB: никогда.

    • модель

    • MSDB

    • PROD77 - последний успешный CHECKDB: 2016-02-23 21: 33: 24.343

Приоритет 10: Производительность :

  • Хранилище запросов отключено - новая функция хранилища запросов SQL Server 2016 не включена в этой базе данных.

    • babtec_prod

    • D3PR

    • DEMO77

    • FINP

    • GridVis_EnMs

Приоритет 50: События DBCC :

  • DBCC DROPCLEANBUFFERS - Пользователь schorsch запускал DBCC DROPCLEANBUFFERS 1 раз в период с 21 сентября 2017 г. по 11:57 и 21 сентября 2017 г. в 11:57. Если это рабочая коробка, знайте, что вы удаляете все данные из памяти, когда это происходит. Какой монстр это сделает?

  • DBCC SHRINK% - пользователь schorsch выполнил сжатие файлов 6 раз в период с 21 сентября 2017 г. по 23:51 и 4 октября 2017 г. в 9:02. Итак, они пытаются исправить коррупцию или вызвать коррупцию?

  • Общие события - 287 событий DBCC состоялись в период с 19 сентября 2017 года в 13:40 и 4 октября 2017 года в 15:20. Это не включает CHECKDB и другие обычно доброкачественные события DBCC.

Приоритет 50: Производительность :

  • Медленный рост файлов PROD77 - 2 процесса увеличения занимали более 15 секунд каждый. Рассмотрите возможность установки автоматического роста файла с меньшим приращением.

Приоритет 50: Надежность :

  • Проверка страницы не оптимальна. Babtec_prod - База данных [babtec_prod] имеет TORN_PAGE_DETECTION для проверки страницы. SQL Server может быть труднее распознавать и восстанавливать данные после повреждения хранилища. Попробуйте вместо этого использовать CHECKSUM.

Приоритет 100: Производительность :

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

Приоритет 110: Производительность :

  • Активные таблицы без кластерных индексов

    • babtec_prod - База данных [babtec_prod] имеет кучи - таблицы без кластеризованного индекса, которые активно запрашиваются.

    • D3PR - База данных [D3PR] имеет кучи - таблицы без кластеризованного индекса, которые активно запрашиваются.

    • DEMO77 - База данных [DEMO77] имеет кучи - таблицы без кластеризованного индекса, которые активно запрашиваются.

    • FINP - База данных [FINP] имеет кучи - таблицы без кластеризованного индекса, которые активно запрашиваются.

    • GridVis_EnMs - База данных [GridVis_EnMs] имеет кучи - таблицы без кластеризованного индекса, которые активно запрашиваются.

    • PROD77 - База данных [PROD77] имеет кучи - таблицы без кластеризованного индекса, которые активно запрашиваются.

Приоритет 150: Производительность :

  • Иностранные ключи не заслуживают доверия

    • babtec_prod - База данных [babtec_prod] содержит внешние ключи, которые, вероятно, были отключены, данные были изменены, а затем ключ был снова включен. Простое включение ключа недостаточно для оптимизатора, чтобы использовать этот ключ - мы должны изменить таблицу с помощью параметра WITH CHECK CHECK CONSTRAINT.

    • D3PR - База данных [D3PR] имеет внешние ключи, которые, вероятно, были отключены, данные были изменены, а затем ключ был снова включен. Простое включение ключа недостаточно для оптимизатора, чтобы использовать этот ключ - мы должны изменить таблицу с помощью параметра WITH CHECK CHECK CONSTRAINT.

  • Неактивные таблицы без кластерных индексов

    • D3PR - База данных [D3PR] имеет кучи - таблицы без кластеризованного индекса - которые не запрашивались с момента последнего перезапуска. Это могут быть небрежно оставленные резервные таблицы.

    • GridVis_EnMs - база данных [GridVis_EnMs] имеет кучи - таблицы без кластеризованного индекса - которые не запрашивались с момента последнего перезапуска. Это могут быть небрежно оставленные резервные таблицы.

  • Триггеры для таблиц babtec_prod - База данных [babtec_prod] имеет 26 триггеров.

Приоритет 170: Конфигурация файла :

  • Системная база данных на диске C

    • master - база данных master содержит файл на диске C. Размещение системных баз данных на диске C сопряжено с риском сбоя сервера, когда ему не хватает места.

    • модель - база данных модели имеет файл на диске C. Размещение системных баз данных на диске C сопряжено с риском сбоя сервера, когда ему не хватает места.

    • msdb - в базе данных msdb есть файл на диске C. Размещение системных баз данных на диске C сопряжено с риском сбоя сервера, когда ему не хватает места.

Приоритет 170: надежность :

  • Максимальный размер файла установлен

    • D3PR - в файле базы данных [D3PR] d3_data_01 установлен максимальный размер файла 61440 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_data_idx_01 установлен максимальный размер файла 61440 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_firm_01 установлен максимальный размер файла 61440 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_firm_idx_01 установлен максимальный размер файла 61440 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_log_01 установлен максимальный размер файла 61440 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_phys_01 установлен максимальный размер файла 61440 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_phys_idx_01 установлен максимальный размер файла 61440 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_sys_01 установлен максимальный размер файла 20480 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_usr_01 установлен максимальный размер файла 20480 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_wort_01 установлен максимальный размер файла 20480 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

    • D3PR - в файле базы данных [D3PR] d3_wort_idx_01 установлен максимальный размер файла 20480 МБ. Если ему не хватит места, база данных перестанет работать, даже если на диске будет свободное место.

Приоритет 200: Информационный :

  • Сжатие резервных копий по умолчанию Выкл. - недавно было выполнено несжатое полное резервное копирование, а сжатие резервных копий не включено на уровне сервера. Сжатие резервных копий включено в SQL Server 2008R2 и новее, даже в Standard Edition. Мы рекомендуем включить сжатие резервных копий по умолчанию, чтобы специальные архивы были сжаты.

  • Сортировка - Latin1_General_CS_AS FINP - Различия в сопоставлении между пользовательскими базами данных и tempdb могут вызывать конфликты, особенно при сравнении строковых значений

  • Сортировка - SQL_Latin1_General_CP1_CI_AS - Различия в сопоставлении между пользовательскими базами данных и tempdb могут вызвать конфликты, особенно при сравнении строковых значений

    • DEMO77

    • PROD77

  • Связанный сервер настроен - BWIN2 \ INFOR настроен как связанный сервер. Проверьте его конфигурацию безопасности при подключении к sa, потому что любой пользователь, который запрашивает его, получит разрешения уровня администратора.

Приоритет 200: мониторинг :

  • Агентские вакансии без сбоев

    • Задание syspolicy_purge_history не было настроено для уведомления оператора в случае сбоя.

    • Задание upd_durchpreis_monatl не было настроено для уведомления оператора в случае сбоя.

    • Задание upd_fertmengen_woche не было настроено для уведомления оператора в случае сбоя.

    • Задание upd_liegezeit_monatl не было настроено для уведомления оператора в случае сбоя.

    • Задание upd_vertreter_diff не было настроено для уведомления оператора в случае сбоя.

    • Задание UPDATE_CONNECT_IK не было настроено для уведомления оператора в случае сбоя.

    • Задание Wartung.Cleanup не было настроено для уведомления оператора в случае сбоя.

    • Задание Wartung.DBCC Check DB не было настроено для уведомления оператора в случае сбоя.

    • Задание Wartung.Index neu erstellen не было настроено для уведомления оператора в случае сбоя.

    • Задание Wartung.Statistiken aktualisieren не было настроено для уведомления оператора в случае сбоя.

    • Задание Wartung.Transactionlog Backup не настроено на уведомление оператора в случае сбоя.

    • Задание Wartung.Vollbackup SystemDB не было настроено для уведомления оператора в случае сбоя.

    • Задание Wartung.Vollbackup UserDB не было настроено для уведомления оператора в случае сбоя.

  • Нет предупреждений о повреждении - оповещения агента SQL Server не существуют для ошибок 823, 824 и 825. Эти три ошибки могут дать вам уведомление о раннем сбое оборудования. Включение их может предотвратить вас от горя.

  • Нет предупреждений для Sev 19-25 - оповещения агента SQL Server не существуют для уровней серьезности 19-25. Это некоторые очень серьезные ошибки SQL Server. Знание того, что это происходит, может позволить вам быстрее восстанавливаться после ошибок.

  • Настроены не все оповещения - настроены не все оповещения агента SQL Server. Это бесплатный и простой способ получать уведомления о повреждениях, сбоях в работе или серьезных сбоях даже до того, как системы мониторинга обнаружат это.

Приоритет 200: Конфигурация сервера не по умолчанию :

  • Агент XP - эта опция sp_configure была изменена. Его значение по умолчанию 0, и оно было установлено в 1.

  • Database Mail XPs - эта опция sp_configure была изменена. Его значение по умолчанию 0, и оно было установлено в 1.

  • полнотекстовый язык по умолчанию - эта опция sp_configure была изменена. Его значение по умолчанию 1033, и оно было установлено на 1031.

  • язык по умолчанию - эта опция sp_configure была изменена. Его значение по умолчанию 0, и оно было установлено в 1.

  • Уровень доступа к потоку файлов - эта опция sp_configure была изменена. Его значение по умолчанию 0, и оно было установлено в 1.

  • максимальная степень параллелизма - эта опция sp_configure была изменена. Его значение по умолчанию равно 0, и оно было установлено на 4.

  • максимальная память сервера (МБ) - эта опция sp_configure была изменена. Его значение по умолчанию - 2147483647, и оно было установлено на 115000.

  • минимальная память сервера (МБ) - эта опция sp_configure была изменена. Его значение по умолчанию равно 0, и оно установлено на 10000.

  • подключения удаленного администратора - эта опция sp_configure была изменена. Его значение по умолчанию 0, и оно было установлено в 1.

Приоритет 200: Производительность :

  • порог стоимости для параллелизма - установите значение 5, его значение по умолчанию. Изменение этого параметра sp_configure может уменьшить ожидания CXPACKET.

  • Произошло создание резервных копий моментальных снимков - за последние две недели произошло 9 резервных копий, выглядящих как моментальные снимки, что указывает на зависание IO.

Приоритет 210: Конфигурация базы данных не по умолчанию :

  • Read Committed Snapshot Isolation Enabled - этот параметр базы данных не используется по умолчанию.

    • D3PR

    • FINP

  • Рекурсивные триггеры включены - этот параметр базы данных не используется по умолчанию.

    • DEMO77

    • PROD77

  • Функция изоляции моментальных снимков включена FINP - этот параметр базы данных не используется по умолчанию.

Приоритет 240: Статистика ожидания :

  • 1 - ASYNC_NETWORK_IO - 225,9 часа ожидания, 143,5 минуты среднего времени ожидания в час, 0,2% ожидания сигнала, 2146022 задач ожидания, среднее время ожидания 378,9 мс.

  • 2 - CXPACKET - 43,1 часа ожидания, среднее время ожидания 27,4 минуты в час, ожидание сигнала 1,5%, 32608391 задач ожидания, среднее время ожидания 4,8 мс.

Приоритет 250: Информационный :

  • SQL Server работает под учетной записью службы NT

    • Я работаю как NT Service \ MSSQL $ INFOR. Я хотел бы иметь учетную запись службы Active Directory вместо.

    • Я работаю как NT Service \ SQLAgent $ INFOR. Я хотел бы иметь учетную запись службы Active Directory вместо.

Приоритет 250: Информация о сервере :

  • Содержание трассировки по умолчанию. Трасса по умолчанию содержит 760 часов данных между 3 сентября 2017 г., 20:34 и 5 октября 2017 г., 12:50. Файлы трассировки по умолчанию находятся в: C: \ Program Files \ Microsoft SQL Server \ MSSQL13.INFOR \ MSSQL \ Log

  • Диск C Space - 21308,00MB бесплатно на диске C

  • Диск D Space - 280008,00MB бесплатно на диске D
  • Drive E Space - 281618.00MB бесплатно на диске E
  • Drive F Space - 60193.00MB бесплатно на F диске

  • Аппаратное обеспечение - логические процессоры: 4. Физическая память: 128 ГБ.

  • Оборудование - NUMA Config - Узел: 0 Состояние: ONLINE Онлайн-планировщики: 4 Автономные планировщики: 0 Группа процессоров: 0 Узел памяти: 0 Память VAS Зарезервировано ГБ: 281

  • Последний перезапуск сервера - 1 октября 2017 г. 14:21

  • Имя сервера - BWINPDB \ INFOR

  • Сервисы

    • Служба: SQL Server (INFOR) работает под учетной записью службы NT Service \ MSSQL $ INFOR. Время последнего запуска: 1 октября 2017 г. 14:22. Тип запуска: автоматический, в данный момент работает.

    • Служба: SQL Server-Agent (INFOR) работает под учетной записью службы NT Service \ SQLAgent $ INFOR. Время последнего запуска: не показано. Тип запуска: автоматический, в данный момент работает.

  • Последний перезапуск SQL Server - 1 октября 2017 г. 14:22

  • Служба SQL Server - версия: 13.0.4001.0. Уровень патча: SP1. Издание: Standard Edition (64-разрядное). AlwaysOn включено: 0. AlwaysOn Mgr Статус: 2

  • Виртуальный сервер - Тип: (HYPERVISOR)

  • Версия для Windows - Вы используете довольно современную версию Windows: Server 2012R2 эпохи, версия 6.3

Приоритет 254: Рандат :

  • Капитанский бревно: что-то и что-то ...

РЕДАКТИРОВАТЬ:

Я уже изучил это руководство по настройке sql-сервера с помощью vmware, и мы установили большую его часть в соответствии с этой статьей. Хотя гиперпоточность не активирована и NUMA не активна на хосте vmware. SQL Server установлен на NUMA, хотя.

РЕДАКТИРОВАТЬ:

Я установил RECONFIGURE после установки порогового значения для параллелизма на 50, также мой параметр MAXDOP не был настроен.

Я также проверил с нашим администратором VMware, кажется, я был дезинформирован. Наши процессоры настроены на 2,6 ГГц, а не 4,6 ГГц. Я исправил эту информацию выше.

РЕДАКТИРОВАТЬ:

Мы попытались установить сеть, связанную с этим vmwarekb и руководством . Мы также добавили еще 4 ядра к виртуальной машине. Загрузка процессора осталась прежней.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь


Спасибо за справочную информацию. Начните с запуска sp_Blitz, как описано здесь, и вставьте его в свой вопрос: brentozar.com/archive/2009/03/getting-help-with-a-slow-query
Брент Озар,

@BrentOzar, я добавил результат sp_blitz в свой пост
Emptyslot

3
Хорошо, плохие новости: ответ остается таким же, как и последний, который вы получили. ASYNC_NETWORK_IO означает, что SQL Server завершил обработку результатов запроса и ожидает на компьютере на другом конце канала, чтобы переварить результаты. Смотреть оригинальный ответ: dba.stackexchange.com/a/186602/426
Брент Озар

@Emptyslot, убедитесь, что соблюдаются лучшие практики SQL Server в VMWare: vmware.com/content/dam/digitalmarketing/vmware/en/pdf/solutions/… .
Дан Гузман

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

Ответы:


18

Как уже говорилось в прошлый раз, когда вы задавали этот вопрос , ваше главное ожидание - ASYNC_NETWORK_IO. SQL Server бездействует, ожидая, пока машина на другом конце канала переваривает следующую строку результатов запроса.

Я получил эту информацию из результатов статистики ожиданий sp_Blitz (спасибо за вставку этого в):

1 - ASYNC_NETWORK_IO - 225,9 часа ожидания, 143,5 минуты среднего времени ожидания в час, 0,2% ожидания сигнала, 2146022 задач ожидания, среднее время ожидания 378,9 мс.

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

Чтобы устранить эту проблему далее, запустите sp_WhoIsActive или sp_BlitzFirst (заявление об отказе: я один из авторов этого) - оба из них будут перечислять запросы, которые выполняются в настоящее время. Посмотрите на столбец информации об ожидании, найдите запросы, ожидающие ASYNC_NETWORK_IO, и посмотрите на приложения и серверы, с которых они работают.

Оттуда вы можете попробовать:

  • Проверка того, что эти серверы приложений недостаточно мощны (например, загружены ли они на ЦП, или выполняется подкачка на диск), и настройте их
  • Работая с разработчиками приложений, чтобы увидеть, выполняют ли они построчную обработку результатов (как и для каждой строки, возвращаемой из SQL Server, приложение выключается и выполняет некоторую обработку, прежде чем запрашивать следующую строку результатов)
  • Работая с разработчиками приложений, чтобы выбрать меньше данных (например, меньше строк или меньше столбцов, если им не нужны все данные - иногда вы видите это, когда люди случайно делают SELECT * и возвращают больше данных, чем им нужно, или они запрашивают все ряды когда им действительно нужны только топ 1000)

Обновите с помощью sp_WhoIsActive - на опубликованном вами скриншоте sp_WhoIsActive вы получили пару запросов, ожидающих ASYNC_NETWORK_IO. Для тех, обратитесь к вышеуказанным инструкциям.

В оставшейся части запросов посмотрите на столбец «status» sp_WhoIsActive - большинство из них «спят». Это означает, что они вообще не работают - они ждут, пока приложения на другом конце канала отправят свою следующую команду. У них есть открытые транзакции (см. Столбец «open_tran_count»), но SQL Server ничего не может сделать для ускорения спящей транзакции. Эти запросы были открыты более сорока минут (первый столбец в sp_WhoIsActive. Они просто больше ничего не делают. Вам нужно заставить этих людей зафиксировать свои транзакции и закрыть их соединения. Это не проблема настройки производительности.

Все, что мы видим здесь, указывает на сценарий, в котором мы ждем приложение.


Спасибо за ваш ответ. Мы проверили серверы приложений, они не имеют недостаточной мощности. Мы проверяем ваши другие пункты. Есть много операторов, которые делают что-то вроде псевдонима SELECT. * FROM псевдоним таблицы WHERE alias.clumn = value AND CreateDate> = SomeDate. Что не красиво, но это те же операторы SQL, которые работали «гладко» с последней версией нашей ERP-системы (Infor COM 7.1) и с Oracle 9g. Почему бы работать хуже с MS SQL Server и Infor COM 7.1. Там нет никаких заявлений, которые стоят в любом случае. Наш консультант по ERP проверяет все, что я ему отправляю.
Emptyslot

1
Хорошо, вам нужно начать с раздела, помеченного «Чтобы устранить эту проблему дальше» - это следующие шаги. Я не могу сделать это больше ясно. Спасибо!
Брент Озар

1
Это то, что я делаю. Я отправляю запросы, которые показывают две процедуры, нашему консультанту.
Emptyslot

@ Empyslot хорошо, вы знаете, как это, не можете доверять этим консультантам. ;-)
Брент Озар

5
@Emptyslot - это будет последний раз, когда я отвечу, если вы не добавите материал, который я просил три раза: запустите sp_WhoIsActive или sp_BlitzFirst (заявление об отказе: я один из авторов этого) - оба из которых будут перечислены запросы, которые выполняются в настоящее время. Это также будет включать ваше соединение с SSMS и покажет, что оно ожидает. Пожалуйста, поймите, что я добровольно помогаю вам здесь, чтобы помочь вам, и я был вежлив, но вежливость здесь останавливается: делайте то, что я просил вас сделать три раза.
Брент Озар

2

Чтобы ответить на мой собственный вопрос. ASYNC_NETWORK_IO на самом деле не было настоящей проблемой. Мы исправили нашу проблему производительности, следуя этому руководству для рабочих нагрузок, чувствительных к задержке:

Рекомендации по настройке производительности чувствительных к задержкам рабочих нагрузок в виртуальных машинах vSphere

Я пометил настройки, которые мы применили к нашей системе, желтым цветом:

введите описание изображения здесь

Я думаю, что настройками, которые оказали наибольшее влияние, были конфигурация numa и высокая чувствительность к задержке . И то, и другое требуется для явного выделения / резервирования физических ядер ЦП и ОЗУ для ВМ.

Мы также добавили больше ядер к виртуальной машине, и теперь нам нужно обновить лицензию SQL Server со стандартной на корпоративную.


1
Спасибо, что поделились подробностями вашего ответа. Мы также запускаем SQL в Vsphere и, возможно, потребуется проверить эти параметры в случае возникновения проблем. Пожалуйста, продолжайте этот ответ. Извините, что кто-то вас убил. +1
Стинг

DidmOu ​​настроить их только для SQL Server или также / только для приложения?
eckes

Мы также настроили сервер приложений с этой настройкой. Мы также рассматриваем возможность настройки наших виртуальных рабочих столов с настройкой задержки на среднее / нормальное значение. Я предполагаю, что это решило бы наши проблемы, связанные с async_network_io
Emptyslot

1

Похоже, что Windows сообщает тактовую частоту вашего ядра процессора 4,6 ГГц как 2,6 ГГц ... Я бы запустил инструмент, подобный CPU-Z, чтобы проверить, на какой скорости они действительно работают, а затем посмотреть на изменение настроек питания в Windows и BIOS / ОС управления, чтобы отключить любые параметры энергосбережения, которые могут замедлять работу ядер до более низкой скорости.


Я был дезинформирован, ядра процессора все время были на частоте 2,6 ГГц. Установки энергосбережения не активны ни на хосте, ни на госте.
Emptyslot

Я хотел бы более внимательно изучить предупреждение «Активные таблицы без кластерных индексов». Если у вас есть большие кучи, которые активно запрашиваются, это сильно
ухудшит

К сожалению, была только одна таблица, у которой нет кластерного индекса. Он имеет две колонки, одна из которых является NVARCHAR, а другая имеет тип данных IMAGE. У него уже был некластеризованный уникальный индекс для первого столбца, я также добавил кластеризованный индекс. Но это не сильно помогло.
Emptyslot
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.