Ситуация, когда после существенного обновления аппаратной части (установки SSD, увеличения объема оперативной памяти до 64 ГБ и замены процессора на более мощный) производительность 1С не растет, а падает, встречается довольно часто. Особенно остро это проявляется при одновременном переходе с физического сервера на виртуальную машину. Рассмотрим причины возникновения «эффекта вязкости» интерфейса и медленной работы запросов, а также разберем методы оптимизации системы.
Переход на виртуальную среду (Hyper-V, VMware и др.) неизбежно вносит накладные расходы на выполнение операций. В контексте 1С падение производительности может составлять 5–10% даже при идеальной настройке. Однако, если система начинает «тормозить» заметно сильнее, это сигнализирует о неверном распределении ресурсов или конфликтах в конфигурации гипервизора. Проанализируем ключевые узлы, которые требуют проверки в первую очередь.
Одной из самых неочевидных причин медленной работы является работа функций энергосбережения. На новом мощном железе процессор может не выходить на максимальные частоты при кратковременных пиковых нагрузках, которые характерны для 1С. Разберем шаги по исправлению:
Это позволит серверу мгновенно реагировать на запросы 1С, устраняя эффект «задумчивости» системы при открытии форм и проведении документов.
При использовании 64 ГБ оперативной памяти и многоядерных процессоров критически важно учитывать архитектуру NUMA (Non-Uniform Memory Access). Если виртуальной машине выделено больше ресурсов, чем имеется в одном физическом сокете (процессоре), возникают задержки при обращении к оперативной памяти другого сокета.
Рекомендации по настройке памяти:
Связка 1С и MS SQL Server 2012 требует специфических настроек, которые в более современных версиях SQL могут быть включены по умолчанию. Проанализируем необходимые параметры:
TempDB необходимо включить флаги –T1117 (равномерное расширение файлов в группе) и –T1118 (выделение полных экстентов).Max Degree of Parallelism (MAXDOP). Для 1С часто рекомендуют значение 1, но на современных многоядерных системах можно протестировать значения 2 или 4. При этом параметр Cost Threshold for Parallelism стоит поднять со стандартных 5 до 50, чтобы SQL не пытался распараллеливать простейшие запросы.Использование SSD — это большой плюс, но в виртуальной среде важна правильная конфигурация контроллеров. Выясним, на что обратить внимание:
В рассматриваемой ситуации используются клиенты x86. Важно понимать, что такие приложения имеют ограничение адресного пространства (около 2 ГБ). При выполнении тяжелых отчетов в УправлениеТорговлей клиентское приложение может упираться в этот лимит, начиная активно использовать файл подкачки. В виртуальной среде, где доступ к памяти и диску имеет чуть большие задержки, это ощущается гораздо сильнее. Если ресурсы сервера позволяют, рекомендуется рассмотреть переход на x64 версию клиента 1С.
Таким образом, для достижения максимальной скорости 1С на виртуальной машине необходимо обеспечить «прозрачность» прохождения команд от приложения к железу, минимизировав влияние механизмов энергосбережения и динамического распределения ресурсов гипервизора.