Вопрос по процессору Xeon и Hyper-V

У вас сложности? Наши специалисты постараются помочь вам. Если вы сами сталкивались с похожими проблемами - поделитесь опытом.

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
r1sh
Junior member
Сообщения: 8
Зарегистрирован: 21 дек 2011, 12:03
Откуда: Санкт-Петербург

Вопрос по процессору Xeon и Hyper-V

Сообщение r1sh » 14 мар 2019, 13:54

Добрый день.

У нас стоит сервер Supermicro: мать Supermicro X10SRL-F, процессор Xeon E5 2620 v4 и память Samsung 96Гб ( 3х32Гб ), стоит Hyper-V и несколько VM, основные: Терминальный сервер и сервер БД+сервер 1С.

Судя по системе мониторинга, виртуалка с сервером БД и сервером 1С периодически потребляет до 90% CPU:
db01_cpu.jpg
На уровне Hyper-v ему выделено столько ресурсов процессора:
2019-03-14_13-48-04.png
Терминальный сервер потребляет в пиках до 60% CPU
ts00_cpu.jpg
На уровне Hyper-v ему выделено столько ресурсов процессора:
2019-03-14_13-47-48.png
На уровне физического сервера нагрузка на CPU следующая:
hv01_cpu.jpg
В связи с этим возникло несколько вопросов:

1. Может ли быть проблема из-за того что включены технологии Intel по экономии электроэнергии и судя по CPU-Z частота процессора падает до 1.1Ггц в разгар рабочего дня?
2. Почему так получается, что на уровне физического сервера нагрузка 10% а на уровне VM 90% хотя я выделил виртуалке 100% резервирования 8 потоков?
3. Как можно решить проблему с нагрузкой на сервер бд? Это программная проблема или особенности Hyper-V и нужно переходить на Vmware или только заменой процессора можно решить проблему?

Заранее благодарен за ответ.

Reaper666
Junior member
Сообщения: 15
Зарегистрирован: 12 фев 2017, 21:36
Откуда: Чебоксары

Re: Вопрос по процессору Xeon и Hyper-V

Сообщение Reaper666 » 16 мар 2019, 15:50

Попробую ответить, исходя из своих знаний VmWare.
У вас стоит 1 процессор, и я так понимаю, у него включен гипертрейдинг.
Возможно, шедулер упирается в синхронизацию потоков, то есть для виртуалки БД ему нужно все 8 ядер, 4 занято терминалкой, а еще 5 допустим остальными серверами. Шедулер ждет высвобождения еще 1 ядра и фризит машину, что в в самой виртуалке выливается в то, что потребление CPU взлетает до небес. Тем более у вас включена резервация ресурсов и если серверу БД нужно всем 8 ядер, то он их затребует все, но если ядро занято, то ему ничего не остается как ждать.
У меня были такие случаи, когда на гипервизоре было 2 4-ядерных процессора, а виртуалкам были отданы по 8 vCPU, в итоге я ловил фризы. После того, как я распределил машинам по 4 и 2 ядра, все стало хорошо.
Исходя из этого, попробуйте убрать резервацию ресурсов и снизить количество ядер на БД-шки и посмотреть, как оно будет.

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

Касательно нагрузки на сервере БД надо анализировать статистику ожиданий в sql server, возможно есть неоптимальные запросы.
Я редко видел, чтобы сервера БД сильно использовали процессор, но если и видел, то проблема была в том, что разрабы коряво написали рекурсивный запрос. В основном БД упираются в память и диск, но это из моего опыта.

r1sh
Junior member
Сообщения: 8
Зарегистрирован: 21 дек 2011, 12:03
Откуда: Санкт-Петербург

Re: Вопрос по процессору Xeon и Hyper-V

Сообщение r1sh » 18 мар 2019, 12:44

Reaper666 писал(а):Попробую ответить, исходя из своих знаний VmWare.
У вас стоит 1 процессор, и я так понимаю, у него включен гипертрейдинг.
Возможно, шедулер упирается в синхронизацию потоков, то есть для виртуалки БД ему нужно все 8 ядер, 4 занято терминалкой, а еще 5 допустим остальными серверами. Шедулер ждет высвобождения еще 1 ядра и фризит машину, что в в самой виртуалке выливается в то, что потребление CPU взлетает до небес. Тем более у вас включена резервация ресурсов и если серверу БД нужно всем 8 ядер, то он их затребует все, но если ядро занято, то ему ничего не остается как ждать.
У меня были такие случаи, когда на гипервизоре было 2 4-ядерных процессора, а виртуалкам были отданы по 8 vCPU, в итоге я ловил фризы. После того, как я распределил машинам по 4 и 2 ядра, все стало хорошо.
Исходя из этого, попробуйте убрать резервацию ресурсов и снизить количество ядер на БД-шки и посмотреть, как оно будет.
Благодарю за ответ!

Такое кол-во ядер я выставил исходя из нагрузки на VM с БД, когда стояло 4 ядра, они все были загружены периодами под 90-100%, по этому я добавил сначала 6 ядер, потом 8.

Я понимаю, что сервер 1С вряд ли умеет использовать больше 2х ядер и видимо по этому он грузит под 100% первые два, а MS SQL распределяет нагрузку по остальным...вот так и живёт:)
Технологии экономии энергии я обычно отключаю, не вижу смысла держать их на сервере и настраиваю на максимальную производительность.
Вот я их вроде отключал, но может конкретно на материнках Supermicro как-то всё иначе
Касательно нагрузки на сервере БД надо анализировать статистику ожиданий в sql server, возможно есть неоптимальные запросы.
Я редко видел, чтобы сервера БД сильно использовали процессор, но если и видел, то проблема была в том, что разрабы коряво написали рекурсивный запрос. В основном БД упираются в память и диск, но это из моего опыта.
да, согласен, исходя из моего опыта тоже озу и диск. Диски там 2xSSD в raid 1, и tempdb и pagefile выведены на отдельный SSD, контроллер внешний, озу на VM выделено 52Гб, 20гб на сервер 1С, 32гб для MS SQL, в принципе в пиках свободно 2-3Гб, т.е. вся память отьедается.

а проц прям грузится по самое не могу при чем грузится как MS SQL так и 1С, в основном 1С.

Reaper666
Junior member
Сообщения: 15
Зарегистрирован: 12 фев 2017, 21:36
Откуда: Чебоксары

Re: Вопрос по процессору Xeon и Hyper-V

Сообщение Reaper666 » 18 мар 2019, 16:57

Попробуйте тогда еще разнести сервера 1С и БД по разным виртуалкам для начала.

Ответить

Вернуться в «Серверы - Решение проблем»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей