Перейти к основному содержимому

Как добиться максимальной скорости онлайн-обмена с 1С через web- и http-сервисы

Время прочтения: около 5 минут

Время на внедрение: от 30 до 60 минут

Экономия времени на одном мобильном устройстве: от 10 до 40 минут за смену (8 часов)

Назначение: обеспечить предельно быструю передачу данных из «1С: Предприятия» при выполнении онлайн-запросов с сервера Mobile SMARTS через web- или http-сервисы Cleverence.

Целевая аудитория: специалисты по внедрению, системные администраторы, интеграторы, продвинутые пользователи.

Ниже представлена таблица с результатами замеров скорости работы при различных условиях. Подробнее об ускорении взаимодействия с «1С: Предприятием» читайте в статье «Как сильно ускорился онлайн-обмен с «1С: Предприятием» в новых релизах продуктов от «Клеверенс»».

ОперацияБез оптимизацииС учетом рекомендаций
Загрузка данных по штрихкоду4 сек.1 сек.
Выгрузка справочника номенклатуры2,5 сек.1,5 сек.
Получение документов с двух ТСДТСД1: 2,5 сек.
ТСД2: 10 сек.
ТСД1: 1,5 сек.
ТСД2: 2 сек.
Первый запуск коннектора8 сек.2 сек.
Повторный запуск коннектора10 сек.0,5 сек.
Загрузка более 3000 документов на ТСД25 сек.1,3 сек.

Все параметры ниже влияют на производительность обмена. Для удобства они разделены по степени влияния:

(Желательно) — не влияет напрямую, но может предотвратить возможные сбои.
(Значимо) — оказывает умеренное влияние на быстродействие.
(Очень значимо) — существенно влияет на скорость.
(Обязательно) — критично для корректной работы онлайн-режима.

  1. (Очень значимо) Убедитесь, что используется «Склад 15» версии не ниже 1.3.3.689 и Mobile SMARTS — не ниже 3.3.46.26738.

  2. (Обязательно) Версия платформы «1С: Предприятие»:
    — для web-сервисов — 8.3.3 и выше,
    — для http-сервисов — 8.3.5 и выше.

  3. (Значимо) Сервер Mobile SMARTS должен быть на выделенном физическом или виртуальном сервере в одной локальной сети с сервером 1С. Пропускная способность — от 1 Гбит/с, задержка — менее 1 мс.

  4. (Очень значимо) Web-сервер (Apache или IIS) с опубликованным сервисом должен размещаться на той же машине, где установлен сервер Mobile SMARTS. Других приложений и сервисов на этом сервере быть не должно, чтобы не мешать перезапуску и настройке web-сервера.

  5. (Очень значимо) На сервере 1С должно быть не менее 3 ГБ свободной оперативной памяти (для справочника в 200 000 товаров). При нехватке памяти запросы будут записываться во временный файл (swap), что резко увеличит время отклика (до 90 секунд и более).

  6. (Обязательно) Установите компонент «Модули расширения Web-сервера» в составе платформы 1С.

  7. (Обязательно) Все действия по настройке и работе с обработкой должны выполняться от имени того пользователя, который работает в режиме онлайн.

  8. (Желательно) Имя пользователя и пароль для подключения к 1С не должны содержать русские символы (кириллицу).

  9. (Обязательно) В параметрах подключения к базе Mobile SMARTS:

    • База должна быть доступна по строке подключения с сервера 1С.
    • Связь осуществляется через REST API.
  10. (Обязательно) Интеграционная обработка в основной обработке должна быть подключена одним из способов:

  • Через справочник «Дополнительные отчеты и обработки» или «Внешние обработки» (без возможности отладки кода).
  • Через встроенные обработки конфигурации (с возможностью отладки).
  1. (Значимо) В расширенных настройках основной обработки должен быть снят флаг «Не использовать сжатие данных».

  2. (Очень значимо) При публикации web- или http-сервиса из расширения настройки из свойств сервиса не применяются. Для этого возможны два варианта:

  • Встроить компоненты из CleverenceMainExtension.cfe прямо в конфигурацию 1С и опубликовать сервис из конфигурации.

  • Явно задать параметры публикации в файле default.vrd.

    Для web-сервиса (секция <ws>)Для http-сервиса (секция <hs>)
    <point name="CleverenceWebExtension"
    alias="CleverenceWebExtension.1cws"
    enable="true"
    reuseSessions="autouse"
    sessionMaxAge="300"
    poolSize="50"
    poolTimeout="5"/>
    <service name="CleverenceHTTPExtension"
    rootUrl="clevhs"
    enable="true"
    reuseSessions="autouse"
    sessionMaxAge="300"
    poolSize="50"
    poolTimeout="5"/>