В современных ИТ-инфраструктурах часто возникает необходимость физического разнесения серверов по разным серверным комнатам или даже зданиям. Однако для устаревших, но все еще активно используемых систем, таких как 1С:Предприятие 7.7, работающих на MSSQL, такое решение может стать фатальным. Рассмотрим подробно, почему расстояние в 200 метров и наличие нескольких промежуточных коммутаторов превращают работу пользователей в мучительное ожидание, и разберем по шагам, как диагностировать и исправить эту ситуацию.
Для начала проанализируем, почему 1С 7.7 так чувствительна к качеству сети. В отличие от современных версий (8.х), «семерка» при работе с SQL использует крайне неоптимальный механизм взаимодействия, который ИТ-специалисты называют «chatty protocol» (болтливый протокол). Программа генерирует огромное количество мелких, последовательных запросов к СУБД.
Выясним причину на простом математическом примере. Предположим, для проведения одной накладной 1С 7.7 отправляет к SQL-серверу 1000 мелких запросов. Если серверы стоят в одной стойке и соединены коротким патч-кордом, пинг между ними составляет менее 0.1–0.3 мс. В этом случае суммарная задержка на сетевое «путешествие» пакетов составит всего 0.1–0.3 секунды. Если же пинг вырастает до 40 мс (как в рассматриваемой ситуации), то выполнение той же операции займет 40 секунд чистого ожидания ответа сети, без учета времени на саму обработку данных сервером MSSQL.
Важный вывод: для 1С 7.7 критически важна не ширина канала (пропускная способность в Гбит/с), а именно задержка (latency). Пинг выше 1–2 мс делает работу некомфортной, а 40 мс фактически останавливает бизнес-процессы.
Разберем ситуацию с физической точки зрения. Автор темы указывает расстояние в 200 метров и использование трех коммутаторов. Согласно стандартам IEEE 802.3, максимальная длина сегмента медной витой пары (Ethernet) составляет 100 метров. При превышении этого расстояния начинаются проблемы:
CRC.Рассмотрим промежуточные коммутаторы (хопы). Каждый дополнительный свитч на пути вносит свою задержку на обработку кадра (режим Store-and-Forward). Если используются дешевые неуправляемые коммутаторы с маленьким буфером, то при высокой нагрузке (например, когда один пользователь запускает тяжелый отчет ОстаткиТМЦ), пакеты других 34 пользователей могут просто отбрасываться.
Чтобы локализовать проблему и доказать системному администратору наличие узкого места, проанализируем ситуацию методом сегментирования. Выполним последовательный прозвон сети (ping) между ключевыми точками:
ping -l 1450 -t). Часто на маленьких пакетах сеть ведет себя стабильно, а при передаче реальных данных 1С начинаются потери.Если в процессе тестов мы видим скачки пинга до 40 мс и выше, необходимо проверить состояние портов на управляемых коммутаторах. Ищем параметры Errors, Discards и Collisions. Наличие даже небольшого количества ошибок на портах, соединяющих серверы, является критическим.
Иногда задержки вызваны не только кабелем, но и программными настройками сетевого стека Windows Server. Рассмотрим параметры, которые стоит проверить и, возможно, изменить:
netsh int tcp show globalНа основе проведенного анализа сформулируем правильное техническое решение:
Резюме: Текущая ситуация с пингом 40 мс — это не просто «медленная работа», это неработоспособное состояние системы. Аргументация для администратора должна строиться не на субъективном «тормозит», а на объективных показателях latency и количестве транзакций платформы 1С 7.7, которые физически не могут пролезть через такие задержки.