Почему оборотно-сальдовая ведомость по 41 счету долго формируется через IIS при удаленной работе

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет
← На главную

Ситуация, когда после замены сетевого оборудования или перенастройки веб-сервера IIS конкретные отчеты (например, ОСВ по 41 счету) начинают работать значительно медленнее, является довольно распространенной. Особенно часто это проявляется в файловых базах 1С:Бухгалтерия 3.0, развернутых на настольных операционных системах типа Windows 10. Рассмотрим подробно причины возникновения таких «тормозов» и разберем по шагам методы их устранения.

Анализ локального и удаленного доступа

Первым делом проанализируем ситуацию: если на самом компьютере, выполняющем роль сервера, отчет формируется мгновенно (даже через браузер по локальному адресу), а при удаленном подключении возникают задержки в 2–3 минуты, проблема локализована в канале передачи данных или в настройках обработки сетевого трафика веб-сервером IIS.

Важно понимать разницу между отчетами. Например, ОСВ по 62 счету («Расчеты с покупателями») обычно содержит меньше записей и аналитик, чем ОСВ по 41 счету («Товары»). В 41 счете задействовано субконто «Номенклатура», «Склады» и часто «Партии». Это генерирует огромный объем данных в формате XML или JSON, который должен быть передан от сервера к тонкому клиенту или браузеру. Если небольшие пакеты данных (как для 62 счета) проходят быстро, а большие пакеты (для 41 счета) вызывают задержку, мы имеем дело с сетевыми ограничениями.

Диагностика с помощью технологического журнала

Для того чтобы точно выяснить, на что тратится время — на выполнение запроса к базе данных или на передачу ответа пользователю, необходимо настроить технологический журнал (ТЖ) на стороне сервера. Проанализируем пример настройки файла logcfg.xml для сбора данных о длительных операциях:


<config xmlns="http://v8.1c.ru/7.4/config/logcfg">
  <log location="C:\LOGS\WEB" history="2">
    <event>
      <eq property="Name" value="W3WP"/>
      <gt property="Duration" value="1000000"/>
    </event>
    <property name="All"/>
  </log>
</config>

Посмотрим на полученные логи. Если событие формирования отчета в ТЖ занимает доли секунды, а пользователь видит результат через 3 минуты — проблема в сетевой передаче. Если же и в ТЖ время выполнения велико — проблема в ресурсах сервера или блокировках IIS.

Проверка настроек MTU и фрагментации пакетов

Поскольку проблема возникла после смены роутера, одним из наиболее вероятных виновников является параметр MTU (Maximum Transmission Unit). Это максимальный размер пакета, который может быть передан по сети без фрагментации.

Разберем ситуацию: стандартное значение MTU — 1500 байт. Однако многие провайдеры (особенно при использовании PPPoE или VPN-туннелей) требуют меньшего значения (например, 1492 или 1450). Если роутер получает пакет большего размера, он начинает его дробить (фрагментировать), что при передаче тяжелых отчетов 1С приводит к колоссальным задержкам или потере пакетов.

Выясним оптимальный размер MTU с помощью команды ping в консоли Windows:

ping [адрес_сервера] -f -l 1472

Если команда выдает «Требуется фрагментация пакета», постепенно уменьшайте значение 1472, пока пакет не пройдет успешно. Найденное значение (плюс 28 байт заголовка) и будет вашим идеальным MTU, которое нужно прописать в настройках WAN-порта роутера или в свойствах сетевого адаптера сервера.

Оптимизация сжатия данных в IIS

При работе через веб-сервер объем передаваемых данных критичен. Выясним, включено ли динамическое сжатие в IIS. По умолчанию в Windows 10 компоненты IIS могут быть установлены без модуля Dynamic Content Compression.

  1. Откроем «Включение или отключение компонентов Windows».
  2. Перейдем в раздел Службы IIS -> Общие функции HTTP.
  3. Убедимся, что установлены флажки «Сжатие динамического содержимого» и «Сжатие статического содержимого».
  4. В консоли управления IIS на уровне сервера или конкретного сайта зайдем в раздел «Сжатие» и включим оба параметра.

Это позволит серверу сжимать данные ОСВ по 41 счету перед отправкой, уменьшая объем трафика в 5–10 раз, что критично для удаленных пользователей.

Ограничения Windows 10 как веб-сервера

Проанализируем программные ограничения. Windows 10 Pro не является полноценной серверной ОС. В ней существует жесткий лимит на количество одновременных сетевых соединений (обычно до 20).

Даже если в базе работают всего два человека, каждый сеанс 1С (особенно через браузер) открывает множество соединений для загрузки скриптов, картинок и данных. При формировании тяжелого отчета количество запросов может временно превысить лимит, и IIS начнет ставить новые запросы в очередь.

Для минимизации этой проблемы проверим настройки пула приложений:

Настройка HTTP Keep-Alive

Еще один важный параметр — HTTP Keep-Alive. Эта опция позволяет браузеру или тонкому клиенту использовать одно и то же TCP-соединение для нескольких запросов. Если она выключена, то для каждого субконто или строки отчета может инициироваться новое соединение, что крайне медленно на удаленных каналах с высокими задержками (ping).

Проверим это в разделе «Заголовки ответов HTTP» в IIS. Убедимся, что флаг «Включить Keep-Alive» установлен.

Проблемы с IPv6 и сетевыми фильтрами

Рассмотрим влияние протокола IPv6. Часто новые роутеры пытаются приоритезировать IPv6-трафик. Если в локальной сети или на сервере IPv6 настроен некорректно, система может сначала пытаться отправить запрос по IPv6, ждать таймаута и только потом переходить на IPv4. Это может добавлять те самые секунды задержки к каждому запросу данных отчета.

Рекомендуется полностью отключить протокол IPv6 в свойствах сетевого адаптера на компьютере, где установлен IIS. Также стоит временно удалить (а не просто отключить) сторонние антивирусы с модулями веб-защиты, так как их сетевые драйверы продолжают фильтровать трафик IIS даже в «выключенном» состоянии, что на больших объемах текста (ОСВ) вызывает тормоза.

Итоги диагностики

Для решения проблемы долгого формирования ОСВ по 41 счету через IIS мы рекомендуем придерживаться следующего алгоритма:

  1. Сравнить скорость формирования отчета локально (через веб-ссылку localhost) и удаленно.
  2. Проверить и настроить MTU на роутере для исключения фрагментации.
  3. Включить динамическое сжатие в компонентах IIS.
  4. Отключить IPv6 в настройках сетевой карты.
  5. Убедиться, что в настройках ОСВ не включено избыточное оформление (цвета, шрифты), которое увеличивает объем передаваемого HTML-кода.

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

← На главную