Вопрос по процессору Xeon и Hyper-V
Модераторы: Trinity admin`s, Free-lance moderator`s
Вопрос по процессору Xeon и Hyper-V
Добрый день.
У нас стоит сервер Supermicro: мать Supermicro X10SRL-F, процессор Xeon E5 2620 v4 и память Samsung 96Гб ( 3х32Гб ), стоит Hyper-V и несколько VM, основные: Терминальный сервер и сервер БД+сервер 1С.
Судя по системе мониторинга, виртуалка с сервером БД и сервером 1С периодически потребляет до 90% CPU:
На уровне Hyper-v ему выделено столько ресурсов процессора:
Терминальный сервер потребляет в пиках до 60% CPU
На уровне Hyper-v ему выделено столько ресурсов процессора:
На уровне физического сервера нагрузка на CPU следующая:
В связи с этим возникло несколько вопросов:
1. Может ли быть проблема из-за того что включены технологии Intel по экономии электроэнергии и судя по CPU-Z частота процессора падает до 1.1Ггц в разгар рабочего дня?
2. Почему так получается, что на уровне физического сервера нагрузка 10% а на уровне VM 90% хотя я выделил виртуалке 100% резервирования 8 потоков?
3. Как можно решить проблему с нагрузкой на сервер бд? Это программная проблема или особенности Hyper-V и нужно переходить на Vmware или только заменой процессора можно решить проблему?
Заранее благодарен за ответ.
У нас стоит сервер Supermicro: мать Supermicro X10SRL-F, процессор Xeon E5 2620 v4 и память Samsung 96Гб ( 3х32Гб ), стоит Hyper-V и несколько VM, основные: Терминальный сервер и сервер БД+сервер 1С.
Судя по системе мониторинга, виртуалка с сервером БД и сервером 1С периодически потребляет до 90% CPU:
На уровне Hyper-v ему выделено столько ресурсов процессора:
Терминальный сервер потребляет в пиках до 60% CPU
На уровне Hyper-v ему выделено столько ресурсов процессора:
На уровне физического сервера нагрузка на CPU следующая:
В связи с этим возникло несколько вопросов:
1. Может ли быть проблема из-за того что включены технологии Intel по экономии электроэнергии и судя по CPU-Z частота процессора падает до 1.1Ггц в разгар рабочего дня?
2. Почему так получается, что на уровне физического сервера нагрузка 10% а на уровне VM 90% хотя я выделил виртуалке 100% резервирования 8 потоков?
3. Как можно решить проблему с нагрузкой на сервер бд? Это программная проблема или особенности Hyper-V и нужно переходить на Vmware или только заменой процессора можно решить проблему?
Заранее благодарен за ответ.
Re: Вопрос по процессору Xeon и Hyper-V
Попробую ответить, исходя из своих знаний VmWare.
У вас стоит 1 процессор, и я так понимаю, у него включен гипертрейдинг.
Возможно, шедулер упирается в синхронизацию потоков, то есть для виртуалки БД ему нужно все 8 ядер, 4 занято терминалкой, а еще 5 допустим остальными серверами. Шедулер ждет высвобождения еще 1 ядра и фризит машину, что в в самой виртуалке выливается в то, что потребление CPU взлетает до небес. Тем более у вас включена резервация ресурсов и если серверу БД нужно всем 8 ядер, то он их затребует все, но если ядро занято, то ему ничего не остается как ждать.
У меня были такие случаи, когда на гипервизоре было 2 4-ядерных процессора, а виртуалкам были отданы по 8 vCPU, в итоге я ловил фризы. После того, как я распределил машинам по 4 и 2 ядра, все стало хорошо.
Исходя из этого, попробуйте убрать резервацию ресурсов и снизить количество ядер на БД-шки и посмотреть, как оно будет.
Технологии экономии энергии я обычно отключаю, не вижу смысла держать их на сервере и настраиваю на максимальную производительность.
Касательно нагрузки на сервере БД надо анализировать статистику ожиданий в sql server, возможно есть неоптимальные запросы.
Я редко видел, чтобы сервера БД сильно использовали процессор, но если и видел, то проблема была в том, что разрабы коряво написали рекурсивный запрос. В основном БД упираются в память и диск, но это из моего опыта.
У вас стоит 1 процессор, и я так понимаю, у него включен гипертрейдинг.
Возможно, шедулер упирается в синхронизацию потоков, то есть для виртуалки БД ему нужно все 8 ядер, 4 занято терминалкой, а еще 5 допустим остальными серверами. Шедулер ждет высвобождения еще 1 ядра и фризит машину, что в в самой виртуалке выливается в то, что потребление CPU взлетает до небес. Тем более у вас включена резервация ресурсов и если серверу БД нужно всем 8 ядер, то он их затребует все, но если ядро занято, то ему ничего не остается как ждать.
У меня были такие случаи, когда на гипервизоре было 2 4-ядерных процессора, а виртуалкам были отданы по 8 vCPU, в итоге я ловил фризы. После того, как я распределил машинам по 4 и 2 ядра, все стало хорошо.
Исходя из этого, попробуйте убрать резервацию ресурсов и снизить количество ядер на БД-шки и посмотреть, как оно будет.
Технологии экономии энергии я обычно отключаю, не вижу смысла держать их на сервере и настраиваю на максимальную производительность.
Касательно нагрузки на сервере БД надо анализировать статистику ожиданий в sql server, возможно есть неоптимальные запросы.
Я редко видел, чтобы сервера БД сильно использовали процессор, но если и видел, то проблема была в том, что разрабы коряво написали рекурсивный запрос. В основном БД упираются в память и диск, но это из моего опыта.
Re: Вопрос по процессору Xeon и Hyper-V
Благодарю за ответ!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 как-то всё иначеТехнологии экономии энергии я обычно отключаю, не вижу смысла держать их на сервере и настраиваю на максимальную производительность.
да, согласен, исходя из моего опыта тоже озу и диск. Диски там 2xSSD в raid 1, и tempdb и pagefile выведены на отдельный SSD, контроллер внешний, озу на VM выделено 52Гб, 20гб на сервер 1С, 32гб для MS SQL, в принципе в пиках свободно 2-3Гб, т.е. вся память отьедается.Касательно нагрузки на сервере БД надо анализировать статистику ожиданий в sql server, возможно есть неоптимальные запросы.
Я редко видел, чтобы сервера БД сильно использовали процессор, но если и видел, то проблема была в том, что разрабы коряво написали рекурсивный запрос. В основном БД упираются в память и диск, но это из моего опыта.
а проц прям грузится по самое не могу при чем грузится как MS SQL так и 1С, в основном 1С.
Re: Вопрос по процессору Xeon и Hyper-V
Попробуйте тогда еще разнести сервера 1С и БД по разным виртуалкам для начала.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей