Я работаю над виртуальной машиной, на которой работает SQL Server Express (как часть Sage Line 50 Manufacturing). Детали следующие:
Физический сервер (хост-машина)
- Intel Xeon Quad Core 2,1 ГГц
- 4 ГБ оперативной памяти
- Образ VMDK, хранящийся на дисках RAID-5 500 ГБ SATA (7200 об / мин)
- Запуск Ubuntu 10.04 Server 64 бит
- Сервер VMware 2
Виртуальная машина
- Windows Small Business Server 2003
- Выделено 2 виртуальных процессора и 2 ГБ ОЗУ
- Использование предварительно выделенного плоского файла VMDK объемом 100 ГБ
Проблема, с которой я столкнулся, заключается в том, что в SQL Server работает процесс, который требует большой нагрузки на ЦП. На старом физическом сервере, с которого мы мигрировали на виртуальную машину, будут задействованы оба ядра ЦП, поэтому процесс sqlserver.exe будет работать на 100% на каждом из ядер ЦП. На виртуальной машине кажется, что используется только одно из двух ядер ЦП, что означает, что процесс выполняется намного медленнее.
Вопрос
Есть ли способ сила SQL Server (процесс sqlserver.exe) для использования обоих ядер ЦП и распределения нагрузки между ними? Требуется ли изменить этот параметр VMware, чтобы процессы могли использовать оба ядра?
У меня нет большого опыта работы с базами данных MS SQL Express на виртуальных машинах, но я думаю, что вы только что столкнулись с аппаратными ограничениями MS SQL Express Edition.
Я предполагаю, что на вашем физическом сервере был 1 ЦП с 2 ядрами. MS SQL Express 2008 (и я думаю, 2005 тоже) поддерживает только ОДИН физический процессор, но несколько ядер.
Виртуальная машина распознает каждый виртуальный ЦП как отдельный процессор, а не как дополнительное ядро. Таким образом, процесс sqlserver.exe ограничен 1 виртуальным ЦП.
В vSphere (и это может быть неприменимо к серверу VMware, но может быть полезно для людей, наткнувшихся на этот ответ) вы можете изменить количество «ядер на сокет», представленное виртуальной машине, чтобы точно отразить многоядерность (или гиперпоточность ) Процессоры.
См. Эту статью: http://www.virtualizationbuster.com/?p=132