В этой маленькой заметке рассматриваются некоторые аспекты использования серверных ОС при эксплуатации сетевого варианта системы 1С:Предприятие (в DBF-варианте).
Использованные материалы – собственный опыт и архивы форума Территория 1C. Рекомендации с диска ИТС фирмы 1С не использовались – желающие могут просмотреть их самостоятельно. По времени эти рекомендации появились позднее обсуждений на Территории, выводы там приведены без объяснений и в сжатом виде.
Итак, приступим к нашим серверам.
В настоящее время наиболее часто при эксплуатации системы 1С-Предприятие используются следующие серверные ОС – от фирмы Microsoft (Windows NT/2000), от фирмы Novell – Novell NetWare версий 3 и 4. По частоте использования статистика не собиралась, однако можно с уверенностью сказать, что безусловно лидируют сервера Windows. Связано это в основном с отсутствием достаточно количества специалистов по серверному ПО фирмы Novell.
При эксплуатации файл-серверного варианта системы 1С:Предприятия на этих серверах возникает ряд проблем, причём для каждого типа сервера проблемы свои. Рассмотрим кратко эти проблемы.
Проблема #1.
При эксплуатации серверов Windows NT/Windows 2000, если к базе подключено более одного пользователя, резко замедляется скорость работы "1С:Предприятия".
Этот подарок преподнесен нам особенностями работы механизма кэширования Window NT/2000. Если база лежит на NT/Win2000, то при одном пользователе будет включен кэш сервера, и при этом не имеет особого значения, как пользователь подключен к базе – монопольно или в разделенном режиме. При подключении второго и последующих пользователей кэш выключается. Повторно он включится для базы только при отключении всех пользователей от этой базы и вторичном подключении к ней первого пользователя.
Эти выводы можно проиллюстрировать примером. Не далее как 14-15 марта 2002 года вопрос в очередной раз был поднят на "Территории 1С". Мною было предложено провести ряд тестов и вот результаты, полученные одним из участником форума.
Тесты производились по следующей методике – тестовый отчет выполнялся при подключении к базе одного пользователя и при подключенном втором, который сам ничего не выполнял (важен сам факт подключения).
"Итак, краткий отчет: имеем две одинаковые базы, обе лежат на сервере Windows 2000 Server. Больше к серверу никто не обращается. К одной из баз подключен один пользователь (это я), ко второй – два пользователя (я и просто еще одна включенная машина, за которой никто не работает).
Обе базы подключены в разделенном режиме для чистоты эксперимента. Затраченное время:
Действие
1 user
>1 user
Замедление
Расчётный листок на 1-го сотрудника
2.5 сек
16 сек
6.4
Построение расчётной ведомости по предприятию
10 сек
35 сек
3.5
Проведение документа КонецМесяца (1220 проводок)
5 сек
32 сек
13
Используется конфигурация "Расчет зарплаты" фирмы КАМИН для компоненты "Бухгалтерский учет". Ни в коем случае не хочу бросить тень на фирму КАМИН – другие бухи используют доработанную типовую бухгалтерию от 1С – те же проблемы. Основное время при двух пользователях тратится на выполнение запросов по бух. итогам – видно даже визуально при построении отчета.
При расчете зарплаты приходится выгонять кадровика – иначе тормоза и расчетчик начинает протестовать. Кстати, кадровик на скорость не жалуется – она не использует документы и отчеты по бух. итогам."
Интерпретация полученных результатов такова – влияние сети и производительности машин можно исключить, тесты выполнялись в одной сетевой среде. Вся разница во времени получена только из-за отключения кэша.
Данную ситуацию можно несколько сгладить – если на файл-сервере Windows используется файловая система NTFS, то можно отключить запись последнего времени и даты обращения к файлу для ускорения работы. В NT это делается в параметрах устройства, в Windows 2000 – надо править реестр, а именно ключ
Значение NtfsDisableLastAccessUpdate нужно определить (его по умолчанию нет), тип DWord, установка в единицу (1) запрещает сохранение.
Это несколько ускорит работу с диском, но проблем не решит. Использование SCSI-дисков позволит еще больше снизить разницу, но полность устранить замедление невозможно.
Поведение сервера Novell NetWare в аналогичных тестах дает несколько необычные результаты, впрочем, легко объяснимые.
Скорость выполнения отчета практически не зависит от количества подключенных пользователей. Задержка видна только при перегрузке сети.
Если после формирования отчета сразу же запустить его повторно – время выполнения может быть до 10 (десяти!) раз меньше – данные лежат в кэше и чтение с диска не производится. Но этот эффект может быть получен только при двух дополнительных условиях – на сервере достаточно памяти под кэш (128-256 мб) и сам кэш правильно настроен (сервер NetWare позволяет выполнить настройку кэша на чтение и запись отдельно). Количество подключенных пользователей – безразлично.
Вывод прост – при использовании файл-серверного варианта системы 1С:Предприятие использование сервера под Windows нежелательно. Однако если нет другого варианта – надо постараться использовать максимально быструю систему ввода-вывода (только SCSI). Этот вывод на самом деле действителен для любых файл-серверных приложений (например, БЭСТ), а не только для 1С.
Можно также предложить использовать программы сторонних производителей, выполняющие кэширование дисков сервера Windows, однако нужно помнить, что для серверов нет таких программ, сертифицированных фирмой Microsoft. Хотя на практике при использовании Windows NT такая вот стороняя программв позволила ускорить работу БЭСТа примерно в два раза.
Проблема #2.
При запуске программы 1С на сервере начинает резко тормозить работа пользователей в сети, несмотря на настройку максимального приоритета сетевых приложений.
Данная проблема возникает при использовании на сервере программы, осуществляющей доступ к данным совместно с программами из сети. Ущербность такого подхода осуждается всеми, но на практике часто имеет место.
И при этом возникает проблема, мало кем осознанная и воспринятая (встречается относительно редко, обнаруживается очень трудно). Часть проблемы, связанная с отключением кэша (см. проблему 1), здесь подразумевается, но не обсуждается.
На самом деле в среде Windows работают несколько транспортных механизмов для доступа к файлам. Для работающей в среде сервера программы – это система, обеспечивающая доступ к локальным файлам. Если программа работает на клиентской машине, то могут использоваться два механизма доступа – доступ к сетевому файлу, когда путь к базе прописан в виде \\computer\folder\, и может использоваться механизм маппирования диска. Если работа не интенсивная, то ничего
страшного при совместном доступе может и не случиться. При повышении интенсивности работы может случиться следующее – одновременное поступление запросов на запись по двум разным веткам и наложение записи. По внутренним причинам система не всегда нормально строит очередь обращения к файлу из нескольких механизмов доступа. Тогда лучшее, что случится – расхождение бух. итогов или остатков по регистрам, а худшее – разрушение информации в одном из DBF файлов. Эта ошибка возникает
достаточно редко, условия ее однозначного возникновения не выяснялись.
Избежать этого можно, используя только один из механизмов доступа, т.е. сделать так, чтобы на сервере все обращения к файлу проходили одним путем. Тогда вышеописанной ситуации не возникнет (система построит очередь и корректно ее обслужит). Но в любом случае, можно дать рекомендацию – пользователя с сервера гнать (ибо помимо возможности разрушения наблюдается еще и эффект дополнительного торможения за счет отключения кэша), а если есть необходимость переиндексации или быстрых обработок базы –
запускать программу на сервере только в монопольном режиме (многие практикуют плановую переиндексацию ночью по расписанию). Это нормальное решение проблемы.
При сравнении серверов Windows и NetWare можно сказать следующее (учитывая, что все вышеприведенные особенности рассматриваются в приложении к файл-серверному варианту системы 1С:Предприятие) – наибольшую скорость можно получить при использовании сервера NetWare (версий 3.хх и 4.хх). Однако, следует иметь в виду, что использование этого сервера имеет два недостатка:
Несмотря на относительную простоту этих ОС (Novell NetWare), квалифицированных специалистов по ним можно встретить редко.
При использовании этого сервера необходимо учитывать, что для нормальной поддержки длинных русских имен файлов на сервере необходимо устанавливать на пользовательских машинах клиента Novel NetWare for MS Windows. Данный клиент поставляется отдельно (на дистрибутивном диске – устаревшая версия). В частности, он имеется на диске ИТС. На сайте фирмы Novell имеется более свежая версия клиента.
Можно, конечно обойтись и стандартным клиентом от Microsoft – только при этом символы русского алфавита будут преобразованы в верхний регистр.
Использование серверов от Novell не предъявляет особых требований к аппаратному обеспечению. Для построения сервера под потребности 1С:Предприятия (5-25 пользователей) вполне достаточно рядовой офисной машины с памятью 128-256 Mb. Для дисковой подсистемы вполне подойдут диски IDE, лишь бы были нормальные драйверы (в случае использования современных высокоскоростных IDE-адаптеров). Установка SCSI дисков – еще более ускорит работу сервера (в то же время установка SCSI-дисков для сервера Microsoft –
обязательная опция).
Могу с уверенность сказать, что сервер NetWare на базе процессора с частотой 200-233 Mhz и памятью 64-128 Mb сравним по времени реакции с сервером Microsoft на процессоре не менее 600-800 Mhz при прочих равных условиях. Объем памяти для Windows-сервера особой роли не играет – но он должен быть не менее 128 Mb.
Терминальный сервер
В связи с вышеперечисленными проблемами с серверами Microsoft все большую популярность при эксплуатации системы 1С:Предприятие приобретают терминальные сервера. За счет снижения сетевого трафика работа 1С:Предприятия ускоряется в несколько раз. Несмотря на проявление все того же недостатка – отключение кэша при втором и более пользователях, такая система позволяет увеличить общую производительность. Нижеприведенные результаты получены еще одним участником Территории 1С:
"Тесты выполнялись следующим образом: первый – при монопольном подключении, второй – разделенный режим и один пользователь, третий – разделенный режим и два пользователя, второй просто подключен.
Отчет "Обороты между субконто Контрагенты и Договора"
...
Терминальный режим
Обычный режим
Монопольно
2:09 (129 сек)
11:11 (671 сек)
Разделённый (1)
1:18 (198 сек)
11:10 (670 сек)
Разделённый (2)
5:13 (313 сек)
>1 ч 20 мин (не дождались окончания)
Результаты можно интерпретировать следующим образом.
Третья колонка подтверждает результаты в первой таблице. Результат в 670 сек – кэш работает, в нем остались данные от первого прогона (т.е. дисковых операций было меньше). Но разделенный режим требует поддержки блокировок – они отрабатывались по сети довольно долго и в результате время одинаковое.
Вторая колонка показывает, что при подключении второго пользователя кэш выключается и в терминальном режиме.
Сравнение второй и третьей колонок между собой показывает эффективность терминального режима работы.
Терминальный сервер – машина далеко не рядовая, должна быть оснащена в обязательном порядке (как и любой сервер от Microsoft) SCSI-дисками, очень желательно иметь пару процессоров, объем оперативной памяти – чем больше, тем лучше, но не менее 1 Gb при 10-15 пользователях.
Реально на практике производительность такого сервера сильно зависит от всех составляющих – оперативной памяти, скорости работы дисковой подсистемы, количества и частоты процессоров.
Использование ОС Windows 9х в качестве ОС для серверной платформы
Достаточно часто встречается также вопрос – почему при попытке подключения третьего (четвертого, пятого) пользователя программа 1С:Предприятие сообщает об ошибке доступа к некоему файлу БД. На самом деле, проблема широко освещается в литературе – системы семейства Windows 9х не позволяют открывать одновременно более 1024 файлов, и строить сеть с использованием Windows 9х можно только при количестве пользователей не более трех (похоже, что трехпользовательская версия 1С:Предприятия как
раз и предназначена для этого случая). Этот вариант рассчитан на самый начальный уровень весьма и весьма малого предприятия.
Особенности настройки сервера NetWare
При описании параметров настройки сервера NetWare использована книга – М.Гук, Сети NewWare 3.12-4.1, Питер, Спб, 1997.
После установки программного обеспечения для обеспечения нормальной работы 1С:Предприятия необходимо обязательно настроить 4 параметра (см стр 181):
Set maximum file locks per connection = 1000 (10 - 1 000) Set maximum record locks per connection = 1000 (10 -1 0000) Set maximum file locks = 10000 (100 - 100 000) Set maximum record locks = 100000 (100 - 400 000)
Для их изменения следует на сервере выполнить команду Load servman, далее по меню: Available Options -> Server Parameters -> Categories -> Locks, далее изменить вышеуказанный значения.
При использовании на рабочей станции Novell Client версии не ниже 3.00 необходимо установить на закладке Advansed Settings параметр File Cache Level в значение 0 или 1. В противном случае, с этой рабочей станции не будет выполняться переиндексация.
Параметр Use Extended File Handles нужно установить в положение On.
В принципе, сервер после этого готов к работе. Дополнительно можно настроить некоторые параметры использования кэша, однако установленные умолчания достаточно оптимальны. Краткое описание параметров можно посмотреть на стр 90-92, более подробное – в фирменной документации. Настройку должен выполнять специалист, общих рекомендаций не существует – оптимальные значения нужно определять в конкретных условиях эксплуатации. Более того, при увеличении размера БД и особенно объема информации
за месяц, изменение параметров управления кэшем весьма сильно влияет на время отчета
Использование клиентов от Microsoft и Novell
Использование клиента от Novell позволяет при выполнении некоторых мероприятий (при установке сервера NetWare) обеспечить поддержку сервером длинных русских имен, а также сетевые принтеры (установленные не на сервере, а подключенные непосредственно к сети). Однако требуется настройка клиента (см. выше).
Клиент от Microsoft практически не требует настройки, входит в состав Windows (нормальный клиент идёт в поставке начиная с Win98). Полное управление сервером возможно только через клиента от Novell (требуется, однако, только администратору сети). Клиент, находящийся на дистрибутивном носителе Novell NetWare, устарел. Необходимо иметь более свежую версию клиента. Клиент версии 3.30 поставляется на диске ИТС. Более свежая версия доступна на сайте фирмы Novell.
При выборе сервера нужно помнить, что каждой избушке нужны свои игрушки. Просто необходимо учитывать все стоящие перед организацией цели и проблемы. Моих рекомендаций здесь не будет.
«Новости, новинки и обзоры серверной, климатической, садовой и техники для дома. Скидки и подарки»:
«Продуктовая линейка Xyratex пополнилась новой более производительной моделью F6412» Продуктовая линейка Xyratex пополнилась новой более производительной моделью F6412.
По сравнению с предыдущей 5412, у новой модели более высокое быстройдействие, увеличено число поддерживаемых дисков SAS в одной системе, а также увеличен кэш.
Подробнее о модели Xyratex F6412...
«Теплый пол DEVI» Теплый пол DEVI (ДЕВИ) - это кабельные электрические системы отопления, которые включают в себя нагревательные кабели Deviflex или маты Devimat.
Нагревательные кабели Deviflex применяются для укладки в стяжку либо для монтажа сухим способом под деревянную доску или ламинат с использование пластин Devicell Dry (используются только кабель DTIP-10, DTIE-10).
Нагревательные маты Devimat укладываются непосредственно в слой плиточного клея, это так называемый тонкий теплый пол. Представленные в различных размерах комплекты систем тонкий теплый пол DEVI легко устанавливаются - без сложных расчетов и чертежей.
Кабельные системы обогрева DEVI можно использовать для полного отопления помещения или в качестве дополнительного источника тепла, создавая комфортный подогрев поверхности пола.
Теплый пол DEVI обеспечивает эффективное отопление любого помещения – квартиры, офиса, цеха, спортзала... Установка возможна практически в любых помещениях - везде, где необходимо комфортное тепло. Широкая линейка продукции позволяет применять нагревательные кабели и маты для различных площадей, самых разных условий и целей эксплуатации отопительных систем.
Теплый пол DEVI (ДЕВИ) контролируется электронными терморегуляторами Devireg...
Общение о компьютерах, серверах, других железках, если вдруг не нашли ответов и просто о компьютерах в нашей жизни. Можете рекламировать свои творения тут, в других разделах реклама будет удаляться...
Вы можете добавить свою новость или статью по адресу (необходимо зарегистрироваться): www.anobis.ru
По вопросам размещения Ваших статей и информации в наших рассылках - пишите нам: odin-s@bk.ru
Давайте поможем строящемуся Храму - приюту для детей! Информация здесь >>>