Настройка параметров производительности MS SQL Server+ 1C для Hyper-V
Доброе время суток. Имеется 2 одинаковых по своей железной конфигурации сервера:
Intel Core I9 9900K
128 GB RAM
2*960 GB NVME SSD
1*1960 GB SATA SSD
На одном сервере установлена ОС WIndows Server 2019 непосредственно на сервер, в котором установлен Сервер 1С 64 bit 8.3.18.1334, MS SQL Server Express 2019, режим работы с БД клиент-серверный, клиент 1С запускается на сервере
На втором сервере установлена та же конфигурация ОС и софта, но на виртуальную машину, созданную в Hyper-V. Роль Hyper-V поднята на ОС Windows Server 2019 Standard.
Проблема: все операции 1С на виртуальной машине ( второй сервер) делаются в 2-3 раза медленнее таких же операций на ОС, установленной непосредственно на железо ( первый сервер).
Чтобы выяснить где затык по скорости, провел эксперимент. Создал файловую БД на обоих серверах, сравнил скорость работы - на втором ( виртуальном сервере) при варианте с файловой БД скорость работы на некоторых операциях % на 3-5 медленне чем на физическом, т.е. несущественные отличия. Из этого делаю вывод, что затык по скорости работы кроется либо в SQL Server'е, либо в связке "1С+SQL".
Суть вопроса: можно ли как-то настроить какие-либо параметры 1С, SQL Server'а для 2-го ( виртуального сервера), или какие-то параметры в Hyper-V или VM ( хотя там уже все пересмотрел), чтобы скорость работы 1С на виртуальном сервере была такой же или почти такой же как на физическом.
Что уже пробовал и проблему не решило:
1. На VM выделены под VM все физические ресурсы процессора ( 8 ядер = 16 виртуальных процессоров)
2.В VM для дисковой подсистемы нет никаких ограничений на IOPS'ы
3. В VM для теста диск для БД SQL подключен не как виртуальный диск, а как физический диск ( pass-through disk) - подняло производительность % на 10, не больше
4. Антивирус пробовал выключать, удалять
Intel Core I9 9900K
128 GB RAM
2*960 GB NVME SSD
1*1960 GB SATA SSD
На одном сервере установлена ОС WIndows Server 2019 непосредственно на сервер, в котором установлен Сервер 1С 64 bit 8.3.18.1334, MS SQL Server Express 2019, режим работы с БД клиент-серверный, клиент 1С запускается на сервере
На втором сервере установлена та же конфигурация ОС и софта, но на виртуальную машину, созданную в Hyper-V. Роль Hyper-V поднята на ОС Windows Server 2019 Standard.
Проблема: все операции 1С на виртуальной машине ( второй сервер) делаются в 2-3 раза медленнее таких же операций на ОС, установленной непосредственно на железо ( первый сервер).
Чтобы выяснить где затык по скорости, провел эксперимент. Создал файловую БД на обоих серверах, сравнил скорость работы - на втором ( виртуальном сервере) при варианте с файловой БД скорость работы на некоторых операциях % на 3-5 медленне чем на физическом, т.е. несущественные отличия. Из этого делаю вывод, что затык по скорости работы кроется либо в SQL Server'е, либо в связке "1С+SQL".
Суть вопроса: можно ли как-то настроить какие-либо параметры 1С, SQL Server'а для 2-го ( виртуального сервера), или какие-то параметры в Hyper-V или VM ( хотя там уже все пересмотрел), чтобы скорость работы 1С на виртуальном сервере была такой же или почти такой же как на физическом.
Что уже пробовал и проблему не решило:
1. На VM выделены под VM все физические ресурсы процессора ( 8 ядер = 16 виртуальных процессоров)
2.В VM для дисковой подсистемы нет никаких ограничений на IOPS'ы
3. В VM для теста диск для БД SQL подключен не как виртуальный диск, а как физический диск ( pass-through disk) - подняло производительность % на 10, не больше
4. Антивирус пробовал выключать, удалять
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(11)
TempDB хранятся на том же диске, что и другие БД SQL Server'а в пределах одного экземпляра. Я знаю о теории что TempDB нужно хранить отдельно, но применимо к данному серверу, так сделать не получится, т.к. количество дисков на сервере ограничено, а каждый диск планируется под определенную нагрузку, поэтому временные БД SQL Server'а хранятся на том же диске где остальные. По этой причине на сервер установлены очень быстрые SSD-диски: SAMSUNG MZVLB1T0HBLR-00000, производительности их хватает чтобы компенсировать этот момент ( скорость чтения-записи больших объемов данных, когда уже точно работает не кэш диска, а сам диск - 400 Мбайт/сек).
В случае с VM, TempDB на каком из дисков хранится и в каком режиме к этому диску организован доступ SQL-серверу?
TempDB хранятся на том же диске, что и другие БД SQL Server'а в пределах одного экземпляра. Я знаю о теории что TempDB нужно хранить отдельно, но применимо к данному серверу, так сделать не получится, т.к. количество дисков на сервере ограничено, а каждый диск планируется под определенную нагрузку, поэтому временные БД SQL Server'а хранятся на том же диске где остальные. По этой причине на сервер установлены очень быстрые SSD-диски: SAMSUNG MZVLB1T0HBLR-00000, производительности их хватает чтобы компенсировать этот момент ( скорость чтения-записи больших объемов данных, когда уже точно работает не кэш диска, а сам диск - 400 Мбайт/сек).
(3)
- Нет, на второй машине установлены и Сервер 1С и MS SQL Server. По сети она к другим SQL Server'ам не получается. Просто взяли 2 идентичные физические машины чтобы сравнить производительность одинаковых операций с одинаковыми базами на VM и ОС и софта, поставленных на физической машине.
Я так понимаю, что вторая машина с VM коннектится к SQL на первой машине?
- Нет, на второй машине установлены и Сервер 1С и MS SQL Server. По сети она к другим SQL Server'ам не получается. Просто взяли 2 идентичные физические машины чтобы сравнить производительность одинаковых операций с одинаковыми базами на VM и ОС и софта, поставленных на физической машине.
Для эксперимента отключи гипертрейдинг на обоих компьютерах и сравни. Потому что что 8 ядер с гипертрейдингом на реальном железе и 16 ядер без гипертрейдинга на виртуалке это не одно и то же. Заодно уравняется условие по лицензии ПРОФ 1С (используется не более 12 ядер, в том случае если у вас ПРОФ). Я ничего не знаю про 9900K, но проверить не мешает, нет ли случайно деления на NUMA-узлы?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот