Смекни!
smekni.com

Сетевые "глюки" 1С (стр. 2 из 3)

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

3. Протокол TCP/IP

Я не хочу говорить никаких плохих слов о протоколе TCP/IP. Я просто считаю его не нужным для систем, использующих программы 1С. Поскольку в системе спокойно уживаются несколько протоколов, то в случае необходимости для сугубо определенных целей TCP/IP имеет право на существование. Ну и пусть он живет на тех рабочих станциях или серверах, где он нужен (например для удаленного доступа), а 1С чудесно будет работать на IPX/SPX или на NetBIOS. 1C-овские программы, работающие на протоколе TCP/IP вполне работоспособны, однако не являются идеалом быстродействия. Тем более, что существуют какие-то заморочки с работой NetHasp Server на TCP/IP. По идее TCP/IP - это протокол, который в первую очередь обязан обеспечить маршрутизацию в сложных сетях. Однако, на обычной локальной сети, но с несколькими сегментами, NetHasp Server часто бывает невозможно заставить дать доступ к ключу программам, запущенным на другом сегменте сети. Скорее всего это ошибка самого NetHasp Server-а, но нам от этого не легче. Систематизировать неполадки данного вида нам не удалось (да честно говоря мы особо и не старались), как не удались и попытки смоделировать подобные ситуации на своей сети (2 сегмента). Но факт есть факт - иногда не работает и не лечится, а иногда работает. Я лично предпочитаю с головной болью не связываться.

TCP/IP способен преподнести еще некоторые сюрпризы. Наличие установленного, но ненастроенного (по IP-адресам) протокола TCP/IP на паре компьютеров в сети способно заставить программы 1С искать ключ по 3-5 минут, а затем "тормозить" при работе так, что создается впечатление, что перед Вами не 100 мегабитная сеть Ethernet, а просто компьютеры, связанные через COM-порты. При этом тормозит ВСЯ сеть, а не только те машины, где установлен TCP/IP. Лечится просто - сносом протокола TCP/IP на одной из машин (т.е. следует устранить наличие TCP/IP-шной "двухточки"). Естественно ситуация такая наступает не всегда, но при определенных условиях (каких???). Исследования на эту тему нам проводить было лень, достаточно того, что найден метод лечения.

4. NetBIOS, IPX/SPX и NetHASP.

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

· Для одноранговых сетей Win95 оптимальным вариантом является протокол NetBIOS (родной NetBEUI, а не эмуляция его на IPX/SPX). Сама сеть работает очень быстро и протокол устанавливается легко. Единственным недостатком является то, что NetBIOS не маршрутизируется по многосегментной сети, хотя недостатком это назвать сложно: я с трудом могу представить себе одноранговую сеть без выделенного сервера, но с несколькими сегментами. По-моему это будет просто извращение какое-то. Единственным препятствием для использования NetBIOS в такой сети может служить наличие сетевого принтера вроде Jet Direct, который, как правило, требует для своей работы протокола IPX/SPX.

· Если в одноранговой сети используется более 6-7 компьютеров и все они должны иметь доступ к одному из компьютеров, играющему роль сервера, то здесь начинаются неприятности. Ресурсы Win95 в случае, когда компьютер играет роль сервера, не позволяют ему обслужить более 5-6 экземпляров 1С:Торговли или 1С:Бухгалтерии, запущенных на других компьютерах (каждый экземпляр программы открывает более 200 файлов на дисках псевдо-сервера). В итоге запуск 6-го или 7-го экземпляра программы 1С заканчивается неудачей. Конечно, наилучшим решением является установка выделенного сервера, но клиенты/заказчики прижимисты и часто приходится устанавливать NT Workstation на компьютер, выполняющий роль сервера (NT Wks имеет значительно большие ресурсы по открытию разделяемых файлов). В такой ситуации наилучшим вариантом будет протокол IPX/SPX (без поддержки SAP). Работает практически так же быстро, как и NetBIOS (надо только сделать скидку на "естественное" торможение NT Wks по сравнению с Win95). Варианта с установкой эмуляции NetBIOS на IPX следует избегать - хотя работа программы будет так же быстра, как и на чистом IPX/SPX, при запуске программы и поиске ключа будет происходить сильное "торможение".

· Такой же вариант следует предпочесть и для системы с выделенным сервером Windows NT Server.

· Для систем с выделенным сервером Novell NetWare 3.12 или 4.11 протокол IPX/SPX является практически единственным. Его использование дает прекрасные результаты, как по надежности поиска ключа, так и по скорости. А если еще применить двухпроцессорную конфигурацию (с NetWare 4.11) то система просто будет летать. Только ни в коем случае не надо ставить на рабочие станции родного Novell-овского клиента. Глючит по-черному. Несмотря на мое теплое отношение к продуктам Novell и резко отрицательное к продуктам от Била Гейтса, вынужден признать, что Microsoft-овский клиент NetWare для Win95 вполне прилично выполняет свои функции.

Все вышеописанные варианты проверялись на наиболее капризной комбинации: 1C:Бухгалтерии 7.5, поставленной поверх 1С:Торговли 7.5 в один и тот же каталог. При этом тестировались NetHasp Server-ы от релизов с 8-го по 15-й. Наилучшие (по безотказности и надежности) результаты показал NetHasp Server от 13-го релиза, вне зависимости от какого продукта он был взят (проверяли в том числе NetHasp Server от SQL-версий). Не забыли мы и про проблемы с ключами от Бухгалтерии 6.0 о которых часто пишут в конференции 1сsoft. Как ни странно, никаких проблем у нас с ними не было - все прекрасно функционировало "в одном флаконе" в вышеописанных конфигурациях. Во всяком случае, посоветовать кое-что могу: надо внимательно читать не только печатную документацию, но и файлики "Readme" на установочных дискетах. Ну а пользователям пиратской продукции могу только посочувствовать.

Здесь следует добавить еще несколько слов вот о чем: если на Вашей сети установлено несколько протоколов, то запись в AUTOEXEC.BAT "set nethaspprotocol=…" определяет только протокол, который будет использоваться для поиска ключа на сети. А вот с помощью какого протокола будут выполняться файловые операции программой 1С? Нами замечено, что многие сетевые глюки появляются, когда на разных компьютерах сети установлен разный набор протоколов и каждая станция (т.е. каждый экземпляр программы 1С) выбирает тот протокол, который ей больше по душе из того набора, который предлагается на данном компьютере. Поэтому настоятельно рекомендую унифицировать все рабочие станции сети по набору протоколов и их настройкам.

5. NE2000-совместимые драйверы.

Очень часто в процессе установки сетевой карты в компьютер Win95 сама определяет свежеустановленную сетевую карту как NE2000-совместимую и устанавливает соответствующий драйвер. Многие "специалисты" этим и удовлетворяются. А иногда просто для карты нет дискеты с драйвером и искать его лень - ведь установился же NE2000-совместимый и вроде бы даже все работает. Вот это самое "вроде все работает" может жестоко Вас подставить.

Действительно, если на сетевую карту установился NE2000-совместимый драйвер, то сеть внешне может быть вполне (и даже очень хорошо) работоспособна. Однако, установка такого драйвера на современную сетевую карту подобна установке драйвера VGA на хорошую видео карту с ускорителем. Вы не в состоянии использовать всю ее функциональность. Дело в том, что сетевая карта имеет много аппаратных функций, которые используются сетевым ядром системы Windows95 через драйвер карты. Если установлен "родной" драйвер, то все эти функции полноценно используются. Если же установлен NE2000-совместимый драйвер, то во время установки он проводит тесты, чтобы определить, какие функции имеются у карты. Как правило, аппаратное исполнение любой сетевой карты хоть немного, да отличается от стандарта совместимости, по которому действует драйвер NE2000. Поэтому, некоторые из имеющихся в наличии функций, остаются для NE2000-совместимого драйвера невидимыми и при последующем обращении ядра Windows к этой функции, драйвер даже не пытается что-то сделать с картой, а просто возвращает ядру код успешного завершения. Для обычной работы сети большинство таких "продвинутых" функций не нужны, поэтому все выглядит пристойно - сеть работает, файлы качаются и т.д. и т.п. Однако, программа 1С для поиска ключа видимо использует какую-то из этих функций, скорее всего что-то связанное с широковещательными посылками. Если NE2000-совместимый драйвер способен реально заставить карту выполнить эту функцию, то все будет хорошо: ключ будет найден. Если же выполнение функции просто имитируется, то программа 1С ключ не найдет.

По опыту работы могу сказать следующее: в 60-70% случаев неработоспособности программ 1С на сети (не находится ключ) виноваты те, кто залепил NE2000-совместимый драйвер вместо "родного", поставляемого на дискете или CD вместе с картой. Особенно это касается случаев установки такого драйвера на компьютер, на котором установлены ключи NetHASP.