Назад | Перейти на главную страницу

SQL Server медленно работает на гостевой машине с течением времени (виртуализация с помощью KVM на хосте Centos 7)

У нас есть новый сервер HP DL360, 64 ГБ ОЗУ, 2x8-ядерный ЦП, массив SAS HDD Raid1 и один массив SSD Raid1. Массив SSD сконфигурирован с двумя устройствами Samsung 850 Pro (не сертифицированными HP).

Мы установили ОС Centos 7 в качестве ОС хоста, и у нас есть только одна виртуальная машина с Windows Server 2012 и SQL Server 2012., только с одним устройством хранения (файл qcow2 в массиве SSD) для диска C. Доступ к хранилищу и сети осуществляется через драйверы virt. Производительность ввода-вывода на виртуальной машине тоже очень хорошая. Память, выделенная ВМ: 20 ГБ. Выделено 10 ЦП для ВМ. Мы установили веб-приложение (через IIS), которое обращается к 20-30 различным компаниям (та же структура базы данных).

После перезагрузки виртуальная машина работает очень хорошо, но по времени (50 минут - 3 часа) у нас есть большая деградация производительности. Если мы перезапустим только службу SQL Server, у нас будет еще несколько десятков минут хорошей производительности.

Старая старая производственная среда работала хорошо (но только один ЦП, всего 8 ГБ ОЗУ), но все же мы хотели машину побольше! Так что непонятно, что происходит. Когда на виртуальной машине начинается вялое поведение, нет большого потребления ЦП, просто веб-приложение работает плохо. У нас нет всплеска спроса. Странно только одно: объем памяти, потребляемой виртуальной машиной, никогда не достигает предела в 20 ГБ. Верхний предел составляет около 8 ГБ.

Мы оптимизировали SQL Server, выделили 15 ГБ (max-memory) только для SQL ... запустили все виды инструментов тестирования и диагностики (Toad Spotlight для SQL). Все горит зеленым.

Мы не знаем, почему сервер тормозит. Я предполагаю какую-то несовместимость hardware-kvm-guest VM. Может ли быть проблема с настройками сервера sql при запуске в KVM? Или, может быть, у SSD есть проблемы с совместимостью на хосте? Любые идеи приветствуются!

Это было легко! И все же нам потребовалось 2 дня, чтобы обнаружить! Кто-то установил 32-битную версию MSSQL. так что он работал нормально, но через 10-15 минут производительность упала, и он действительно завис!

Переустановил 64-битное решение MSSQL, теперь все в порядке!