Многие администраторы сталкиваются с проблемой: несмотря на мощное серверное железо, 1С работает медленно, а «первое открытие» форм занимает значительное время. Давайте вместе разберем, почему это происходит и как выжать из системы максимум производительности.
Первое, на что нужно обратить внимание — это потеря протокола Shared Memory. Когда сервер 1С и сервер баз данных SQL находятся на одной физической машине (или внутри одной ВМ), они используют общую память для обмена данными. Как только мы разносим их по разным виртуальным машинам, взаимодействие переходит в плоскость сетевого протокола TCP/IP, даже если они физически стоят рядом. Накладные расходы на обработку пакетов в стеке виртуализации гипервизора VMware ESXi могут стать «бутылочным горлышком».
Для достижения стабильной работы системы проанализируем следующие критические шаги:
Shared Memory.MAXDOP (Max Degree of Parallelism) в значение, соответствующее числу физических ядер в одном NUMA-узле. Не оставляйте его равным 0, так как это заставляет SQL использовать все ресурсы для одного запроса, провоцируя конфликты.Cost Threshold for Parallelism. Вместо стандартного значения 5 установите 50 или 100. Это отсечет мелкие запросы, которые будут выполняться быстрее в один поток без лишней координации.Instant File Initialization. Убедитесь, что учетная запись службы SQL обладает правами на обслуживание томов, что позволит моментально расширять файлы данных.RAM Reservation) на 100% для виртуальной машины с SQL в настройках VMware, чтобы избежать вытеснения данных в своп на медленных дисках.Даже самая мощная машина может «тормозить», если она находится в режиме экономии энергии. Проверим следующие параметры:
C-states и Turbo Boost, если они провоцируют нестабильные скачки частоты процессора.VMware для ВМ с SQL установите параметр Latency Sensitivity в значение High. Это позволит гипервизору выделять физические ресурсы процессора без оверкоммита.Не спешите чистить кэш программных файлов 1С — это не является универсальным решением и часто приводит лишь к временному замедлению при пересоздании кэша. Вместо этого сфокусируйтесь на анализе:
Замер производительности в Конфигураторе для поиска «тяжелых» процедур и функций.Технологический журнал для фиксации событий, когда время выполнения запроса к БД превышает пороговое значение.Регламентных заданий. Тяжелые операции вроде «Обновление индекса полнотекстового поиска» не должны пересекаться с рабочим временем пользователей.Помните, что 1С — это сложная система, где архитектура базы данных и настройки сервера важнее «сырой» мощности железа. Рекомендуем начать с переноса SQL и 1С в один контур, а затем последовательно оптимизировать настройки MAXDOP и режимов питания. Работайте не «на ощупь», а на основе данных, полученных через замер производительности и технологический журнал, и тогда результат не заставит себя ждать.