1С в облаке: как повысить производительность приложений
О технологиях

1С в облаке: как повысить производительность приложений

1685
16 минут

Ни для кого не секрет, что 1С — достаточно требовательна с точки зрения размещения, будь то локальное «железо» или облачная инфраструктура.

В этой статье мы поговорим о тюнинге производительности систем 1С. Обсудим, какие узкие места в инфраструктуре могут повлиять на скорость отклика 1С, и дадим рекомендации по их устранению.

1С-in-cloud

Производительность 1C складывается из суммы показателей производительности различных компонентов инфраструктуры, на которой развернута система. Это следующие компоненты: 

  • сервер баз данных,
  • СУБД на сервере баз данных, 
  • сервер 1С, 
  • конфигурация 1C, 
  • сервер лицензирования 1С, 
  • терминальная ферма, 
  • рабочие места пользователей, 
  • сеть на каждом участке взаимодействия всех компонентов.

Компоненты инфраструктуры и их влияние на производительность 1С

Сервер баз данных (+ файловый сервер)

Сервер базы данных — основа любой системы. При оценке его работы необходимо обращать внимание на

  • пропускную способность дисков в МБ/с, т. е. скорость чтения/записи данных;
  • скорость дисков в IOPS, влияющую на скорость отклика базы данных;
  • равномерность нагрузки на ядра CPU.

Методы оптимизации

  • Разделение данных, логов, tempdb — классические методы оптимизации, которые применяются в том числе в облаках.  
  • Выбор правильного типа диска для каждого типа данных, например, не хранить «горячие» данные на HDD, а для tempdb выбирать самые быстрые диски, потому что пишется очень много данных. 
  • Разделение базы на активную и архивную, поскольку чем меньше база данных, тем быстрее ее обслуживает сервер. Соответственно, пользователи будут работать, в основном, с небольшим набором данных, а архив будет лежать на отдельных дисках, и к нему будут иметь доступ только те люди, которым он нужен.
  • Разнесение баз на разные диски, например, если у вас есть информационная база, которая забирает все ресурсы диска. В целом рекомендуется сбалансировать базы таким образом, чтобы они друг другу не мешали. Возможно, даже разнести на разные серверы баз данных.
  • Вынос вложений на файловый сервер, чтобы поддерживать небольшой размер базы данных. 

Сервер СУБД на сервере базы данных

Для оптимизации работы сервера СУБД необходимо обращать внимание на 

  • потребление кэша;
  • попадание в кэш и, в особенности, «вымывание» кэша;
  • размер базы, блокировки (locks), ожидания (waits), дедлоки (deadlock);
  • фулсканы таблиц;
  • состояние статистики.

Методы оптимизации

  • Методы, используемые для сервера СУБД, а также отслеживание загрузки дисков и размера базы данных.
  • Регламентные процедуры для обновления статистики и перестроения индексов.
  • Эксперименты с параллельным обращением. Например, если сервер 1C не очень любит параллельные запросы, можно попробовать сделать два-три потока на уровне СУБД вместо одного.

Сервер 1С

Необходимо обращать внимание на 

  • частоту процессора;
  • равномерность нагрузки на ядра CPU (бывают ситуации, когда выделяется много ядер виртуальной машине, но в силу каких-то причин используются не все);
  • скорость диска с логами – технологический журнал и журнал регистрации, в которые пишет 1С, должны лежать на быстром диске;
  • количество активных сессий (если их слишком много, процессоры начинают «метаться» между ними);
  • количество рабочих процессов;
  • потребление памяти (рабочие процессы «съедают» всю оперативную память, если ее мало); 
  • контекстные переключения;
  • редакцию (ПРОФ/КОРП) – если не хватает производительности, подумайте о переходе на лицензии КОРП.

Методы оптимизации

  • Высокочастотный процессор и быстрые диски.
  • Эксперименты с параметрами рабочего процесса, чтобы он не съедал большое количество памяти или не содержал большое количество сессий пользователей.
  • Уменьшение числа информационных баз на одном сервере – лучше сделать несколько серверов в кластере поменьше, а не пытаться выгрузить на один сервер много баз (необходимо обратить внимание на контекстные переключения и эффективность работы процессора при большом количестве процессов).
  • Разделение ролей по узлам кластера (для редакции КОРП), т. е. разделение функций по разным серверам.
  • Разделение данных на активные и архивные на уровне 1С, поскольку чем меньше база данных, которая лежит под 1С (активная часть), тем лучше.

Конфигурация 1С

Конфигурация — это то, с чем непосредственно работают пользователи и что правят разработчики. С точки зрения влияния на производительность необходимо обращать внимание на 

  • процесс разработки и тестирования: иногда обновления, тестирование которых показало отличные результаты, выкатывают в прод, и сервер «ложится», потому что разработчик не учел, что обновление требует очень больших ресурсов, и с ним будет работать очень много пользователей;
  • качество кода, особенно если его пишут неопытные сотрудники. Их работу должны всегда контролировать эксперты;
  • встраивание APDEX в код для отслеживания происходящего в системе;
  • оптимизацию запросов, чтобы пользователь получал из базы данных только нужные ему строки;
  • полномочия пользователей, поскольку разным сотрудникам нужны разные объемы данных. Например, рядовому сотруднику можно ограничить запуск больших отчетов или работу с большими объемами данных, с которыми работает главный бухгалтер.

Методы оптимизации

  • Тщательное тестирование кода перед выкаткой в прод.
  • APDEX для ключевых и длительных операций. 1C позволяет встраивать в код строки с результатами запросов и с комментариями, чтобы можно было видеть выполняемые пользователями действия и причины сбоев. Например, если у двух пользователей 1C работает по-разному, APDEX позволяет выявить, что причина более медленной работы систем может заключаться, например, в том, что один пользователь запрашивает отчет за неделю, а другой — за год; т.е. дело не в том, что запрос работает медленно, а в том, что он обрабатывает большой объем данных.
  • Запрет на выгрузку больших объемов для тех, кому это не нужно, поскольку сотрудники могут по незнанию выставлять неверные параметры и запускать большие отчеты, которые могут «положить» всю систему.
  • Разделение данных на активные и архивные.
  • Вынос вложений на файловый сервер.

Есть разные инструменты, с помощью которых можно измерить скорость работы конфигурации 1С. Например, тест Гилева, APDEX, внутренние инструменты 1С. Но надо понимать,  что любой тест — это синтетика. Авторы вкладывают в тест определенные параметры. 

Например, тест Гилева содержит фиксированный набор фиксированных операций, всегда в одинаковом количестве, и на каждой системе этот тест запускается абсолютно одинаково. Однако каждая конкретная система содержит и другие операции, которые могут микшироваться в разных пропорциях. Поэтому если у вас тест Гилева показал крутой результат, а на другой системе — результат похуже, это не обязательно означает, что эти системы действительно работают по-разному. 

Внутренние тесты в 1С более приближены к реальности, а самый хороший, но самый дорогой тест — это роботы. Специалисты могут проанализировать работу вашей системы, выявить наиболее часто выполняемые операции и написать робота, который будет повторять действия именно так, как это происходит в вашей системе. Результаты такого теста будут максимально приближены к вашей конфигурации. Однако и этот тест останется синтетикой. В конце концов, единственный эффективный тест – это реальная  нагрузка, которую создают пользователи системы. 


Сервер лицензирования

Бывают случаи, когда ограничения на производительность накладывает сервер лицензирования, потому что он размещен далеко, например, за VPN с большим временем отклика, а 1C любит часто проверять лицензию. Соответственно, необходимо обращать внимание на

  • местоположение сервера;
  • нагрузку на сервер, т. е. получение быстрого ответа.

Методы оптимизации

  • Размещать сервер рядом с кластером.
  • Следить за нагрузкой и вовремя увеличивать параметры сервера.

Терминальная ферма

Администраторы делают больше всего ошибок именно здесь. Если правила использования сервера СУБД и сервера 1С все более-менее понимают, то терминал часто пытаются установить на одну машину, выдав ей огромное количество CPU и огромный объем памяти. Это делать не стоит, учитывая контекстные переключения и количество сессий. Процессору очень сложно работать с большим числом одновременных сессий. 

Необходимо обращать внимание на

  • количество пользователей на один узел;
  • потребление CPU и памяти;
  • контекстные переключения процессора;
  • скорость дисков для профилей пользователей.

Методы оптимизации

  • Следовать рекомендациям вендора по параметрам узлов (например, Microsoft рекомендует размещать не более 50 пользователей на одном узле – это оптимальное число, с которым узел справляется. CPU и память уже подстраиваются под задачи, которые решаются на терминальной ферме).
  • Иметь запасной узел на случай выхода из строя или регламентных работ, чтобы пользователи могли переподключиться с минимальным влиянием на их работу.
  • Отслеживать нагрузку на CPU и память и вовремя их увеличивать.
  • Хранить профили пользователей на быстрых дисках, потому что клиент 1С хранит в профиле пользователей все временные данные. Таким образом, даже если сервер 1С быстро выдает данные, клиент 1С может задерживать выдачу данных пользователю из-за узких мест.

Рабочие места пользователей

Необходимо обязательно следить за тем, чтобы у пользователя было комфортное и быстрое рабочее место без лишнего ПО, и антивирус не съедал все ресурсы процессора, а также чтобы было стабильное подключение. Необходимо обращать внимание на 

  • характеристики рабочих компьютеров, тип клиента 1С (толстый, тонкий, веб);
  • что установлено помимо клиента 1С;
  • метод подключения к сети (WiFi, провод, VPN);
  • скорость подключения к сети.

Методы оптимизации

  • Правильно подобранное «железо».
  • Правильно настроенное ПО, особенно антивирус.
  • Быстрая сеть.
  • Переключение пользователя на терминальную ферму, если нет возможности обеспечить хорошее рабочее место.

Сеть

Необходимо обращать внимание на 

  • пропускную способность сети;
  • задержки по сети.

Методы оптимизации

  • Располагать все компоненты как можно ближе друг к другу, в том числе все серверные компоненты, такие как сервер 1С, терминальный сервер, сервер лицензирования, что легко обеспечить в облаке.
  • Для пользователей обеспечить быстрое подключение рабочего места или предоставить терминальный доступ. При этом VPN через спутник — не самое лучшее решение, потому что сервер может сформировать какую-либо форму за секунду, а до пользователя эта форма будет добираться минуту, и субъективно будет казаться, что медленно работает система 1С.

Как заставить 1С работать быстрее

Мы рассмотрели различные компоненты системы и их влияние на общую производительность работы 1С. Ответим теперь на вопрос: как заставить 1С работать быстрее? 

Есть два основных сценария – добавление ресурсов и адаптация архитектуры системы.


1С повышение производительности


Добавление ресурсов прекрасно работает на старте. Если система только начинает расти, а пользователей мало, можно увеличить частоту процессора, добавить количество ядер, поставить более быстрые диски и до поры до времени все будет работать хорошо. Но ресурсы заканчиваются, и вы столкнетесь с тем, что нужно менять оборудование. 

Поэтому в определенный момент стоит задуматься об адаптации архитектуры системы под рост. В этом в первую очередь вам поможет мониторинг, который позволяет видеть динамику. После этого можно думать об изменении всех тех компонентов, которые мы рассмотрели: добавлять сервера, разграничивать роли, разносить данные, ускорять диски и т. д. 

Отметим, что в облаке можно все это сделать очень быстро и эффективно, не дожидаясь нового оборудования. 

Адаптация архитектуры – гораздо более гибкий способ, чем добавление ресурсов. Основное преимущество этого подхода — практически неограниченное горизонтальное расширение. Ограничением будет служить только размер облака и дата-центра. 


1С в K2 Cloud: отвечаем на ваши вопросы

О производительности систем 1С в облаке

Влияет ли модель процессора на производительность базы данных?

На производительность базы данных влияет количество ядер, так как база данных – это работа с дисками. Чем больше потоков при обращении к дискам вы обеспечите, тем выше будет скорость. Частота процессора тоже будет влиять, но в меньшей степени и для сложных запросов.

Что вы можете сказать по поводу AMD Epyc для 1С в сравнении с Intel?

Опыта работы с этим процессором в нашем облаке нет, поскольку мы используем высокопроизводительные процессоры Intel® Xeon® Gold Processor 6348, 6244 и 6254. 

Расскажите подробнее про активные и архивные данные

При работе с СУБД есть одно простое правило. Чем меньше размер базы данных, тем меньше расходуются ресурсы на работу с такой базой. Поэтому ту базу, с которой работают большинство пользователей, нужно стараться делать как можно меньше. Один из вариантов – разделить базу на активную и архивную. Например, документы, которые были проведены более года назад (или любой другой период в зависимости от потребностей вашей организации), можно положить в отдельную базу на отдельном сервере. Делать это можно с помощью регламентных заданий на уровне кода 1С. А для пользователей делать склейку данных, если они берутся из разных баз. Также можно выбрать другие критерии разделения. При таком раскладе ваша активная база всегда будет иметь небольшой размер, с ней легче будет работать, проще оптимизировать, обслуживать, бэкапить.

Как часто и какие выполняются регламентные работы, ребилды индексов, пересчет статистики и т.п., какое влияние на доступность/производительность 1С оказывается?

Частота запуска зависит от СУБД и от нагрузки. Можно начать от 1 раза в неделю и посмотреть на эффект. Далее либо уменьшать, либо увеличивать, либо оставить как есть. Процедуры оказывают значительное влияние на производительность, потому что планировщик строит оптимальные запросы.


О мониторинге 1С в облаке

Какой инструмент вы предлагаете для мониторинга производительности?

У нас используется Zabbix. Он дает возможность сбора данных со всех компонентов инфраструктуры либо из коробки, либо с помощью доработок. Для 1С мы забираем все, что есть в консоли администрирования, а также умеем разбирать технологический журнал, накладывая фильтры. Далее всю эту информацию можно свести в одном дашборде и анализировать.

Будет ли работать нормально RAS, если есть проблемы с производительностью 1С?

Если проблемы настолько жесткие, что на сервере катастрофически не хватает ресурсов, то есть вероятность, что RAS не будет отдавать данные. Но мониторинг в первую очередь настраивается для того, чтобы действовать превентивно и не доводить до такой ситуации (за исключением случаев, когда резко стало плохо, но и тогда у вас есть достаточно точное время начала проблемы, чтобы попытаться понять, что изменилось в этот момент).

Как вы можете прокомментировать встроенные средства мониторинга базы данных Tantor?

Очень хорошая платформа мониторинга и управления. Ее наличие является преимуществом этой СУБД по сравнению с другими продуктами. Однако надо учесть, что подключение сторонних сборок потребует покупки дополнительной лицензии. Для мониторинга самой Tantor она бесплатна. Если сравнивать с мониторингом с помощью Zabbix, то тут есть преимущество – платформа Tantor хранит планы запросов, поэтому вы всегда можете сравнить два запуска одного и того же запроса и проанализировать, что поменялось.

Можно ли быстро получить результат анализа итогов мониторинга?

Процесс анализа метрик по итогам мониторинга – это комплексный итерационный процесс, Иногда возникает потребность в длительном сборе данных, тюнинге и последующем анализе. 


Преимущества K2 Cloud и поддержка 1С в облаке 

Какая архитектура у облака K2 Cloud?

В основе облака лежит гипервизор KVM и программно-определяемые СХД и сети. ПО для управления облаком написано полностью нами. Используются процессоры трех моделей от Intel, диски SSD и HDD. Для дисковой подсистемы используется искусственное ограничение скорости в зависимости от типа и размера диска, что позволяет пропорционально обеспечивать заказчиков требуемыми ресурсами.

Какие есть типы дисков в облаке, количество IOPS?

Мы предлагаем 3 типа дисков: HDD и два SSD с разными ограничениями по IOPS (10 IOPS/GB и 50 IOPS/GB). 

HDD можно использовать для размещения архивной базы, что позволяет сэкономить. SSD с лимитом 10 IOPS/GB нужно применять для системных разделов, где лежит операционная система, и для данных СУБД. На высокопроизводительных дисках с повышенным лимитом можно хранить tempdb, транзакционные логи и тому подобные части СУБД, а также журнал 1С, если он активно пишется. 

Какой Postgre и Linux вы используете?

Разные в зависимости от потребностей заказчика. Отечественные сборки Postgre и дистрибутивы Linux также используем. На них есть спрос.

Есть ли у вас компетенции по системам 1С? Если проблема с IaaS – понятно, а если проблема с самой 1C, вы сможете помочь?

У нас есть 2 выделенных департамента, которые профильно занимаются развитием сервиса 1С как из K2 Cloud, так и на локальной инфраструктуре наших заказчиков. Мы можем решить такие вопросы, как аудит производительности, устранение проблем производительности, миграция с SAP на 1С, миграция с площадки на площадку, внедрение 1С,  поддержка 1С и многие другие.

Решения по проблемам 1С будут предложены в рамках поддержки облака или это отдельная услуга?

Техническая поддержка до уровня бизнес-приложений – всегда отдельная услуга, которая рассчитывается по запросу.  В рамках такой услуги могут быть предложены: аудит всех компонентов, обеспечивающих работу систем 1С на программном, аппаратном и инфраструктурном уровнях; формирование отчета об обследовании и выработка рекомендаций по устранению проблем; работы по реализации рекомендаций с целью устранения проблем производительности, параллельной работы пользователей и повышения качества функционирования системы; техническая поддержка систем 1С под ключ и др.

Ваше облако более выгодно по сравнению с арендой выделенного сервера?

Все зависит от технических параметров, которые необходимо оценить. В большинстве случаев облако дешевле выделенного сервера. В случае, если система требует стопроцентного использования ресурсов выделенного хоста и максимальной производительности, мы рекомендуем использовать услугу аренды выделенного узла в облаке. В нашем облаке есть гибкие тарифы в том числе на выделенные узлы, которые позволяют управлять ИТ-бюджетом с экономией для бизнеса. 

Сколько баллов в тесте Гилева может получить система 1С в K2 Cloud?

35 баллов - http://www.gilev.ru/virtual/

Есть ли у вас специалисты, которые могут помочь со скоростью проведения документов в 1С:ERP? ПТУ по одному из контрагентов в среднем проводятся за 20 секунд (и это ночью без активных пользователей). Далее детали: настройки сервера по рекомендациям 1С сделаны в диспетчере задач, процессор загружен на 30%, очередей к дискам нет, сеть вроде тоже тянет. 512 ГБ ОП. В замере производительности на первой строке по времени 105 раз выполнение запроса (занимает 15% времени)

У нас есть группа специалистов, которые могут помочь с этой проблемой. Но надо понимать что это требует значительных усилий и привлечения специалистов уровня не ниже архитектора, чаще всего с сертификатом эксперта по технологическим вопросам. Будем готовы проанализировать вашу проблему и оценить работы по улучшению скорости проведения документов.

Какая стоимость услуги предоставления облачной 1С? Входят ли в стоимость услуги лицензии 1С, СУБД, ОС, системы резервного копирования?

Стоимость услуг предоставления инфраструктуры 1С из облака рассчитывается исходя из суммы виртуальных машин (vCPU, vRAM, vSSD, vSAS, vSATA) + ОС + СУБД + резервное копирование с нужной глубиной хранения и графиком РК + дополнительные услуги (сеть, лицензии RDS и др). Лицензии 1С также могут быть включены в стоимость и оказание услуги в формате «единого окна». Если вы направите нам запрос на расчет, мы вышлем бюджетную оценку согласно вашему текущему сайзингу.

Гарантируете ли вы backup на 100%? 

Если речь про консистентность, то все зависит от метода резервного копирования, насколько инструмент умеет «морозить» базу данных. Этот механизм есть у проприетарных агентских решений, а также в облаке есть интеграция с Windows VSS и возможность запускать скрипты для подготовки СУБД на Linux посредством облачного агента (по аналогии с VMware Tools). Но в любом случае резервные копии нужно периодически проверять на возможность восстановления, равно как и отрабатывать механизм восстановления всей системы – от сервера приложения до сервера СУБД.

Чем ваша поддержка отличается от поддержки 1С?

Скоростью и сервисностью: мы отвечаем быстрее, мыслим понятными для заказчиков категориями и действительно решаем проблемы.

9 апреля 2025
Облако как конструктор: разворачиваем типовой проект с готовыми компонентами
Современные облачные платформы — это не просто набор виртуальных машин, а целая экосистема сервисов. K2 Cloud не исключение, и мы постоянно развиваем портфолио готовых сервисов, добавляем новые возможности. В этой статье разберём, как можно быстро развернуть типовой проект в облаке на примере Nextcloud — популярного open-source решения для хранения файлов и совместной работы с ними.
1 минута
45
20 февраля 2025
Модели облачных услуг: IaaS, PaaS и SaaS
Гид по основным услугам в публичном облаке, их преимуществам и разделению ответственности между провайдером и клиентом.
2 минуты
855
30 января 2025
Оптимизация облака для 1С

Чаще всего для проверки производительности систем 1С компании используют тест Гилева, который не всегда отвечает запросам бизнеса. Он не способен дать объективную оценку, подходит ли конкретное железо под поставленные задачи.

В статье подробно рассказываем, какие существуют альтернативные методы тестирования производительности 1С в облаке.

1 минута
257
18 декабря 2024
Всепроникающая безопасность: какие облачные ИБ-решения будут больше всего востребованы и почему
Облачные решения продолжают активно осваивать новые ИТ-территории, и сфера кибербезопасности — не исключение. Облачным провайдерам есть что предложить в самых разных сегментах — от комплексной защиты бизнес-сред до отдельных кастомизированных продуктов для решения конкретных задач ИБ. О технологиях, на которые будет расти спрос до 2030 года, в материале специального проекта K2 Cloud и CNews.ru.
1 минута
372
9 декабря 2024
Облачные тренды-2030: как будет меняться ИТ-климат
Вычислительные ресурсы предоставляются в аренду, разработка унифицируется, а рутинные задачи делегируются ИИ. В целях оптимизации компании всё чаще предпочитают использовать серверы и процессоры только по мере надобности и заменять собственную инфраструктуру на облачные платформы. Про главные тренды в ИТ последних и предстоящих лет рассказали в статье специального проекта K2 Cloud и CNews.ru.
1 минута
461
5 ноября 2024
Облачные тренды 2030: специальный проект К2 Cloud и CNews
Как изменится ИТ-климат в ближайшие годы? Что станет драйверами развития облачных технологий? Какие мировые тренды будут актуальны в России? К2 Cloud проанализировал облачные тренды по направлениям от разработки до ИБ, которые будут актуальны до 2030 года на российском и мировом рынке, и рассказал об этом в большом специальном проекте на CNews.
1 минута
595
scrollup