Ситуация, когда мощное и дорогостоящее оборудование (СХД уровня NetApp Flash, FiberChannel 16Gb/s) не обеспечивает ожидаемого быстродействия в 1C:ERP, является классической для многих внедрений. Проблемы с долгим поиском артикулов, минутным формированием отчетов по остаткам и зависанием документов реализации часто кроются не в «общей мощности», а в архитектурных нюансах взаимодействия 1С, SQL и гипервизора. Разберем по шагам, как диагностировать и устранить эти «тормоза».
Проанализируем конфигурацию серверов, представленную в обсуждении. Основная ошибка — использование низкочастотных процессоров (например, с частотой 2.0 ГГц). Для 1С:Предприятия критически важна производительность на одно ядро. Рассмотрим основные причины, по которым многоядерные, но «медленные» серверные процессоры проигрывают десктопным решениям в задачах 1С:
Проанализируем рекомендации экспертов: для обеспечения комфортной работы 50-80 пользователей в ERP оптимально использовать процессоры с частотой от 3.5 ГГц и выше. В качестве экстремального, но эффективного решения часто предлагаются процессоры линейки Intel Core i7-8700K или современные Xeon E-серии (Coffee Lake), которые держат высокую частоту в турбо-бусте.
Многие системные администраторы полагают, что стандартных настроек гипервизора достаточно. Однако для высоконагруженных баз 1С требуются специфические манипуляции. Разберем, что необходимо сделать в настройках ESXi:
Резервирование ресурсов (Reservation): Установите Memory Reservation в значение Reserve all guest memory. Это запретит гипервизору использовать механизмы ballooning и swapping, которые критически замедляют работу SQL-сервера.
Параметры CPU: Выясним причину падения производительности в виртуальной среде. Часто она связана с неоптимальным распределением ресурсов. Рекомендуется:
CPU Hot Add. Включение этой функции отключает поддержку vNUMA, что приводит к значительным задержкам при обращении к оперативной памяти.Latency Sensitivity в значение High. Это заставит гипервизор минимизировать время ожидания процессора для данной ВМ.Maximum Performance. Режимы OS Controlled часто не позволяют ядрам «разгоняться» вовремя.Посмотрим на программную настройку связки сервера приложений и СУБД. Разделение 1С и SQL на разные виртуальные (и тем более физические) машины часто приводит к падению производительности на 20-30% из-за сетевых задержек.
Рассмотрим вариант оптимизации «всё на одной машине». Если сервер приложений 1С и MSSQL находятся в рамках одной операционной системы, мы можем использовать протокол Shared Memory. Это исключает сетевой стек из процесса обмена данными, что дает колоссальный прирост на мелких, но частых запросах, которыми изобилует ERP.
Для настройки в консоли кластера 1С в параметрах рабочего сервера укажите адрес сервера localhost или . (точку), а в настройках SQL Server убедитесь, что протокол Shared Memory включен в SQL Server Configuration Manager.
Часто тормоза вызваны не только железом, но и настройками самой конфигурации. Проанализируем, какие функции стоит отключить или перенастроить на этапе внедрения, чтобы снизить нагрузку:
RLS. Рассмотрим пути решения:
Чтобы понять, где именно «узкое место», воспользуемся проверенным инструментом — тестом TPC-1C (тест Гилева). Рассмотрим интерпретацию результатов:
Если тест показывает низкий результат при мощном железе, обратите внимание на дисковую активность. Важен не объем передаваемых данных (МБ/с), а время отклика (Disk Response Time). Если время отклика превышает 10-15 мс — ваша СХД или сетевой интерфейс не справляются с потоком мелких запросов SQL.
Разберем пример очистки кеша как временную меру при странном поведении форм. Иногда кеш разрастается до гигантских размеров, мешая нормальной работе thin client. Для радикальной очистки можно использовать скрипт удаления папок в %AppData%\1C\1Cv8:
rem Очистка кеша пользователя
rmdir /s /q "%AppData%\1C\1Cv8"
rmdir /s /q "%LocalAppData%\1C\1Cv8"
Резюмируем: Для «оживления» ERP в виртуальной среде необходимо в первую очередь обеспечить высокую частоту ядер процессора (от 3.0 ГГц), зарезервировать память за виртуалками и убедиться, что Shared Memory задействован. Если же проблема сохраняется только у части пользователей — копайте в сторону оптимизации RLS и регламентных заданий.