Сервер терминалов + тонкие клиенты vs ПК с локальными ОС.

или как заставить на 1С7.7 работать 60 пользователей, которые создают больше 2000 документов в день :).

Небольшое повествование на тему сабж.

Сразу оговорюсь, что главный “зачинщик” и реализатор изменения обычной (и скорее всего самой распространенной) системы был DAG (Дмитрий Горейко).

Все описанное ниже будет интересно если количество рабочих мест перевалило за 10-20 либо количество документов в базах приближается к 500-1000 в день. Для более мелких масштабов экономическая и/или админская выгода либо минимальна, либо вообще отсутствует.

Все это началось в 2003 году.

Исходные данные:
Имелись:
1) неплохой (на то время) сервервак (два ксеона с гипертрейдингом, 2Г оперативы, зеркало из двуз сказей по 18Г),
2) локалка и десятка три пользовательских машин.
На всем этом работало несколько бухгалтерий, сильно переписанная торговля, ну и штатные сервисы типа почты, интернета и т.д. Все было на 1С 7.7 SQL версии. Сетевые службы и домен были на слабенькой машинке, но со СКАЗИ диском под RH 7.3

Контора начала расти, количество компов увеличилось и 1С начала “терять” базу. Причем, все это носило лавинообразный характер. Иногда все работало нормально, но если несколько пользователей начинали получать “бешеные” отчеты за большой период, все сыпалось как карточный домик.

Танцы с бубнами и различные оптимизации результата не дали. Результат был один - при работе 1С безбожно “засиралась” сеть и все переставало работать отвалившись по таймаутам. Делать гигабитную сеть, даже на два этажа не представлялось возможным по экономическим соображениям. Поэтому стали искать путь “убрать” сеть для 1С. И оно было найдено :).

Это был терминальный сервер под Windows 2003 Server - единственная найденная система, которая тогда поддерживала 16бит цвет RDP5.2, что было критично для красивого отображения 1С для пользователя.

Все просто полетело. База 1С стала лежать на локальных достаточно шустрых винтах - линейная скорость обмена поднялась с реальных 3Мбайт по сетке до 30Мбайт на винтах. Про получение кучи мелких файлов в больших количествах я вообще молчу ;).

А количество машин, и кривых рученок юзеров соответственно, все росло и росло:. доходили до установки/восстановлении больше трех систем за день - начинало за@бывать:

В процессе установки и настройки терминального сервера был найден очень интересный сайт http://www.wtware.ru, на котором лежала добротная русская документация по этому делу. Почитав остальные буковки и вкусив кайф от пункта “Удаленное управление”, на пользователе в таскманагере, решили пересадить людей на тонкие клиенты.

Изначально загрузка самого клиента производилась с дискеты на которой лежал и конфиг. Дискеты умирали безбожно. Потом появились универсальные etherboot + загрузка с tftp сервера (который поднялся минут за 15 курения манов) на котором лежали и конфиги - стало полегче. Сейчас стараюсь брать исключительно с PXE - вообще механических носителей в терминалах нет :) практически не убиваемые.

Еще важный момент: 1С7.7 написана как всегда - мало того что в базу возможна только одна операция в квант времени, так еще и ожидание сделано пустым циклом. В результате, при проведении большого документа (который проводится допустим 10-20 сек), скапливается очередь. И все что делают? - правильно нагружают проц пустым циклом. Как только свободные процессоры заканчиваются, сервак уходит в глухой ступор. Лечиться это патчем от romix. вот тут написано подробно…

На сейчас имею десяток машин с локальной ОС (половина у меня в отделе :) ), больше 100 терминалов, 3.5 терминальных win2003 сервера (кластер делать не стал т.к. у каждого свое направление), 4 сервера тод линь (Коммуникационный под все на свете, два с 1С8 серверной частью и постгри и один для бакапов всего этого)

Теперь подробней о терминальных серверах. На всех OpenOffice, Thunderbird, QIP у трети/половины пользователей открыто.

Первый (оперативный учет): 4 ксеона по 4 ядра, 8Г оперативы (впритык, но пока хватает), DAIR5 из восьми винтов SAS. Крутиться торговая программа на 1С7.7 60 пользователей, 2000 доков в день, справочник товаров под 20 тыс. строк. Загрузка процов 20-50% оперативы 7-8Г.

Второй (бухгалтерский учет): два ксеона по 4 ядра, 16Г оперативы, RAID5 из 8 SAS. До 2009 года было под 20 бухгалтерий 7.7, сейчас клиентская часть 1С 8.1, 40 пользователей. Загрузка процов 20-40% оперативы 10Г.

Третий (прочие): два ксеона с гипертрейдингом, 8Г оперативы RAID5 5 из 4SCSI. В основном офисные приложения есть парочка мелких баз 7.7, 30 пользователей. Загрузка процов 30-90% оперативы 3-4Г.

Дальше рассказывать сказки смысла не имеет. Просто ИМХО: терминальный сервер - это способ “выжать максимально возможное” из 1С, особенно 7.7.

Что-бы не статья не выглядела как рекламма одного продукта уточняю - есть и другие клиенты как платные, к примеру, вот такой http://elinux.org.ru/ , так и бесплатные у той-же WTware http://pxe.ru/ , наверно, и еще есть, если поискать ;).

Опишу плюсы и недостатки тонких клиентов. Начнем с плохого:

  1. Нужны производительные, и соответственно, недешевые сервера. Актуально, только если требуется производительная дисковая система (локальная база 7.7 к примеру), иначе гораздо грамотнее сделать кластер из обычных хороших десктопов. Так-же финансовые затраты компенсируются ненужностью апгрейдов и дешевизной новых машин.
  2. К терминалу нельзя подключить сканер, win принтеры (все остальные без проблем), web камеру.
  3. Не удается запустить или заставить нормально работать(без ущерба безопасности) некоторые специфичные программы типа клиент-банков, такснет и ряд других.
  4. Заоблачная цена и маленькое количество разъемов у оборудования для тонких клиентов от $200. Хотя эта проблема легко решается использованием обычных (даже очень старых) компов. Правда коробочка прикрученная к монитору и отсутствие железного гроба смотриться эффектно .

А теперь хорошее:

  1. Удобство - все машины легко ремутятся не вставая с кресла, при это сетка не напрягается.
  2. Низкая нагрузка на сеть - один терминал работает даже на модеме с 2400 согласно документации . У меня два здания (компов от 3 до 6 в каждом) вообще через модемы SDSL практически без тормозов работают и даже печатать можно на принтерах подключенных к терминалам. 100Мбит сеть загружена меньше чем на 10%, а так как серваки между собой соединены по гигабиту доступ к сетевым дискам до 30 метров в секунду из терминальной сессии .
  3. Дешевизна рабочих станций - обновлять железо юзеров не надо вообще т.к. прекрасно работает даже на 486 компах с 8М оперативы (у меня последний такой умер год назад), а новые покупаются в самой минимальной конфигурации (интегрированная мать, память, проц, корпус) без винта и дисковода (я последний раз брал системники порядка $100-$150 за штуку).
  4. Безопасность - по умолчанию нельзя получить/унести инфу через терминал ни с флешкой, ни диском или дискетой (при желании эти устройства могут и работать).
  5. И еще раз безопасность - лечение сети от вирусов (пару раз было) сильно упрощено т.к. в сети реальных машин с ОС которую можно заразить ничтожно (у меня <10 большинство из них находятся в моем отделе и серверной стойке. Терминал заразить просто нельзя.
  6. Стабильность - тарминал нормально работает даже с не крутящимися кулерами т.к. линукс не греет проц, а нагрузка на него минимальна.

Ну и так уже сильно захвалил . Хватит наверно. если есть вопросы - пишите поделюсь опытом.

з.ы. Кто ковырял VNC, дайте ссылки аналогичного содержания плз.

11 Комментариев

dagМарт 4, 2009 в 16:14

а можно без фени программерской? имхо тот кто читать будет не так у ж и крут. а если крут - то читать не будет :)

MossonМарт 4, 2009 в 16:18

а в асю поправки кинуть слабо?

sadk0Март 10, 2009 в 15:40

Хе-хе. мне понятно я не прогер и не кодер. а тем кому нипанятна бегом учить матчасть :)

ИгорьАпрель 4, 2009 в 20:11

Хех… :) Почаще пишите смайлики, а то всё так как будто все очень серъёзно :)

0pexАпрель 6, 2009 в 07:11

Все так и есть =) все ну очень серьезно =)

KreontАпрель 9, 2009 в 10:06

Норм статья, а то смотрю в нете мало честных статтей как в реальности работают ИТ-отдел на 1С 7.7 если базы большие и выжать из нее еще что-то хочется :)
—–
Насчет администрироваия через VNC, то обязательно на все клиентские машины сейчас ставим. Правда все подключения сделаны на апаратном VPN между филиалами (статик IP правда обязательно тогда брать у провайдеров). Теперь с кресла не встаем и админим по всей Украине :) главное чтоб комп включился.
p.s. если надо сам VNC клиент+сервер могу скинуть на почту теми что пользуюсь сам (free licence они)

MamZhanАвгуст 8, 2009 в 19:50

Привет всем!

Если не трудно скинь “VNC клиент+сервер … (free licence они)”, плиз, на майл MamZhan- собака -gmail.com>

MossonАвгуст 26, 2009 в 20:45

2 MamZhan так ты по ссылке перейди :) там все скачивается.

EugenНоябрь 16, 2009 в 09:46

а можно примерную смету, если можно конечно, пожалуйста.

MossonНоябрь 16, 2009 в 13:49

2 Eugen. смета понятие слишком размытое ;) смета на “сделать”, на “внедрить”, на железо, на софт, на сопровождение? на сколько рабочих мест?
В статье частично есть экономические прикидки, на мой взгляд и считать нечего. просто посчитайте стоимость обновления своего парка машин и сравните со стоимостью одной машины под сервер (если про стоимость железа). современные двухядерные “персоналки” с несколькими гектарами оперативки без напряга потянут 5-15 офисных пользователей с какой не то программкой учетной. При этом абсолютно счастливый админ которому не недо бегать по сотрудникам что-бы нажать одну или несколько кнопок :) .
А вообще если полазить по ссылкам из статьи или просто почитать интернет на тему “тонкие клиенты”, то много чего можно нарыть.

volkovДекабрь 23, 2009 в 04:51

в 2003 году Wtware не была бесплатной, а первый бесплатный релиз появился в декабре 2005 года… Использовал в качестве “тонких клиентов” старые компьютеры, главное ограничение было заложено в разрешении экрана и отсутствия возможности работы с накопителями.. Отсюда вытекает следующий вопрос по поводу:
“Windows 2003 Server - единственная найденная система, которая тогда поддерживала 16бит цвет RDP5.2, что было критично для красивого отображения 1С для пользователя”
Дело в том, что как раз на 1С 7.7 разницы между 8 битами и 16 практически не заметно, зато скорость работы тонокого клиента при включении 8 битного отображения заметно повышалась…
Совет для всех , кто хочет покупать аппаратные тонкие клиенты - берите с ОС XP Embended, так как HP подложил свинью, везде написано, что можно подключать принтер к ихнему тонкому клиенту, да можно, но для того, чтобы настроить других пользователей на него , нужно приобрести у HP за ннную сумму специальный софт. ;) удачи
p.s. использую терминальный режим работы с 2005 года, доволен до безобразия