11.06.20г

Тема: Настройка роли сервера приложений.

Вопрос1. Что из себя представляет сервер прилож

появился новый сервер от Microsoft — "MS Windows 2000 Advanced Server", практически полностью уничтожающий различия между продуктами Microsoft и Citrix. Новый сервер обладает такими возможностями, как:

Служба кластеризации и перераспределения нагрузки

Поддержка протокола RDP5

Поддержка доступа к серверу при помощи браузера IE (компонент ACTIVE X)

Доступ к серверу печати, COM-портам и буферу обмена клиента.

Также стоит отметить появление на рынке продукта от компании Corel, который, к сожалению, в продажу на территории России не поступал и пока никакого независимого тестирования не проходил.

Основные задачи, которые выполняет сервер приложений — выполнение задач клиента и отправка изменившегося окна клиента. Здесь имеет смысл отметить два момента.

Во-первых, с какой скоростью сервер будет выполнять задачи — если скорость соединения высока, то именно от скорости выполнения задач будет зависеть общая производительность системы.

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

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

Также следует обратить внимание на тот уровень комфорта при работе с терминалом, который готовы воспринять пользователи. Так, к примеру, машинистке набивающей платежки в банке не надо мгновенно видеть результаты своей работы на экране — пауза в 0.1 секунду ее может вполне устроить. Также пользователя может вполне устроить 16 цветов при запуске приложения вместо 256. Проще говоря, перед тем как построить любую терминальную систему, вам требуется ознакомиться с техническими возможностями предприятия, запросами пользователей и теми бизнес-задачами, которые будут выполняться на сервере.

Выбор сервера приложений

Основной задачей при выборе сервера приложений является оптимизация мощности процессора и объема оперативной памяти. Основная проблема состоит в том, чтобы подсчитать нужные ресурсы для большой группы пользователей, имея мало представления о них и о том, как они могут загрузить сервер. То есть вы наверняка можете предположить, что одна секретарша использует немного ресурсов, но что произойдет, когда таких пользователей будет подключено к серверу более 50?

Во-первых, данные пользователи постоянно не используют предоставленные им вычислительные ресурсы, во-вторых, даже в их работе существуют серьезные всплески активности — к примеру, загрузка Word. Также надо предполагать, что существуют другие пользователи, возможно имеющие другие параметры по загрузке сервера — к примеру, программисты.

На данном этапе вам, возможно впервые, придется провести анализ "поведения" пользователей, которых вы собираетесь подключить к терминальному серверу.

Пример

Общее количество рабочих мест — 20. 10 пользователей используют только Microsoft Word, Excel, Outlook, IE (отдел продаж, маркетинга и PR), 3 пользователя используют только 1C (бухгалтерия), 4 пользователя используют IE, Outlook (начальники отделов), 2 пользователя очень редко используют Word и, наконец, остается системный администратор, загружающий все подряд от PhotoShop до J++.

Предположим, что внутри пользовательских групп нагрузка распределяется равномерно (обед у всех в одно и тоже время), также предположим, что те программные средства, которые используют пользователи, в целом равномерно загружают сервер (проще говоря, печатанье в Ворде не порождает всплеска использование процессора).

Итак, вы каким-либо способом рассматриваете то, как пользователь использует компьютер в рабочий день. То есть смотрите за тем, какие действия он за ним производит. Данный контроль можно осуществлять двумя способами, во-первых, запустить какого-нибудь робота, что бы он записывал нажатия на клавиши и щелчки мышью, во-вторых, вы можете подключить пользователя к какому-либо свободному терминальному серверу и посмотреть какую нагрузку он будет производить в течение дня. Далее результаты работы робота можно воспроизвести уже на терминальном сервере и найти уровень загруженности системы.

Какие параметры вы должны получить:

Пиковая нагрузка на процессор. Частота пиковой нагрузки на процессор за день. Средняя продолжительность такой нагрузки.

Средняя загрузка процессора за день. Желательно также найти почасовую среднюю нагрузку.

Пиковое использование памяти. Частота пиковой нагрузки за день. Средняя продолжительность такой нагрузки.

Среднее использование памяти в течение дня, почасовая средняя нагрузка.

Вы должны провести такое испытание со всеми группами пользователей.

Далее вы легко можете получить так называемые "минимальные" показатели сервера приложений — помножьте средние показатели на количество пользователей в группе и сложите все группы. вы получите просто фантастические запросы к памяти — для нашего примера: около 780 Мбайт оперативной памяти и около 2 ГГц суммарной занятости процессора.

Но не стоит пугаться — метод, описанный выше неправилен :), так как терминальный сервер умеет эффективно использовать память.

К примеру, общий объем загружаемых компонентов Microsoft Word в памяти около 9 Мбайт, но 8 Мбайт из данного блока приходится на словари, графику и помощника. Когда будет запущена следующая копия Word, эти 8 Мбайт не будут загружены или продублированы — они будут доступны обеим копиям. Если какая-нибудь из них попробует изменить эту восьми мегабайтную часть, то измененная часть будет отделена и потребует немного памяти. Использование данного механизма распределения памяти позволяет экономить память. Но степень данной экономии вы сможете определить, только используя второго, подключенного к терминальному серверу клиенту. То есть вы подключаете второго клиента или запускаете записанную ранее роботом программу действий второй раз.

Итак, вы смогли определить примерные размеры приложений при повторном запуске. Далее вы должны составить примерную временную таблицу загруженности данного приложения в память. К примеру: Word — 27% времени, Excel — 10% времени, IE — 100% времени. Далее вы умножаете то количество памяти, которое действительно требуется на количество пользователей использующих данное приложение и на полученную таблицу. Получившиеся "мегабайто-сапиенс" и есть то минимальное количество памяти, которое вам потребуется (для нашего примера — около 340 Мбайт).

Процессорная мощность может быть вычислена и нормальным способом — вы можете просто сложить среднюю загруженность терминального сервера. Далее перевести эту загруженность в какие-либо масштабируемые единицы — к примеру, мегагерцы или показатели производительности какого либо теста процессора. Здесь стоит обратить внимание на то, что мегагерц — наихудший вариант, ибо 166MMX работает не 5 раз медленнее 800 МГц Athlon, но какой показатель наилучшим образом подходит для сравнения, к сожалению, сказать сложно.

Таким образом, вы сможете получить показатель на уровне 500-600 МГц для нашего примера. Если же вы подсчитаете, насколько каждое отдельное приложение загружает сервер, и умножите данный результат на цифры из полученной ранее таблицы, то, возможно, получите меньший и более правдивый вариант.

Далее нужно выяснить, как перегрузки влияют на сервер. Предположим, что существуют два вида перегрузок — утренние и обыкновенные. Под утренними понимается обыкновенная загрузка бездисковых станций, под обыкновенными — загрузка новых приложений.

вам должно быть известно количество таких моментов в течение рабочего дня и их распределение. Если таких перегрузок немного, то вы смело можете забыть про них, если же очень много то вам придется выделить дополнительные ресурсы памяти и процессора. К примеру, выяснилось, что обычная перегрузка происходит каждые 20 минут. При этом загрузка процессора возрастает на 200 МГц, плюс затрачивается в среднем около 10 Мбайт памяти. Продолжительность около 15 секунд. Практически именно данные показатели вы должны прибавить к минимальным. А вот утренняя перегрузка обладает другими качествами — предположим 20 перегрузок в течение 10 минут, длительностью около 20 секунд. вам тогда придется учитывать более сложную ситуацию — возникновение, скажем, двух перегрузок одновременно.

Итак, в итоге вы получили показатели: процессорная мощность — около 600 мегагерц процессор, 400 мегабайт оперативной памяти. Далее вы должны выделить память для самой операционной системы и ее сервисов. К примеру, если вы собираетесь инсталлировать Windows 2000 Advanced Server, смело прибавляйте 128 Мбайт памяти и около 40 МГц для внутренних задач.

Итог — 640 МГц на 512 Мбайт оперативной памяти.

Данный алгоритм позволяет найти нужную именно вашей организации мощность сервера. Я специально не стал приводить результаты тестов, которые проводил самостоятельно, или опубликованные результаты от западных компаний, дабы вы самим могли оценить эффективность терминальных решений.

Если вашим пользователям потребуется часто пользоваться жестким диском, рассмотрите возможность использования SCSI-контролера и SCSI-диска — это позволит разгрузить процессор, и уменьшить количество перегрузок.

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

После выбора

Итак, вы купили нужный сервер, протестировали его и теперь перед вами стоят задачи конфигурирования и инсталляции программного обеспечения.

Во-первых, вы должны выбрать, будете ли вы использовать продукты компании Citrix или остановитесь на продуктах от Microsoft. Более дорогой вариант — Metaframe, обладает несколькими не очень важными с моей точки зрения возможностями:

Program Neighborhood. Применение данного компонента практически бессмысленно, если количество пользователей менее 100, в любом случае вы сможете, используя стандартные средства администрирования, добиться той же эффективности

Video Frame — данный компонент позволяет нескольким операторам или скажем только вам наблюдать за работой клиентов и если надо вмешиваться в их работу.

Поддержка передачи звука

Поддержка IPX/SPX, и некоторых другие протоколы, включая соединение по нуль модемному кабелю.

Наиболее важное отличие между данными терминальными серверами лежит в протоколе подключения клиентов. Microsoft использует для этого RDP 5.0, Citrix — ICA.

Эти протоколы имеют собственные плюсы и минусы. К примеру, ICA — платформенно-независимый протокол, клиент может работать на любой платформе, будь он веб-браузером или старым добрым Lunix. Протокол от Microsoft работает только на 2 клиентах — WIN16 и WIN32, но это дает ему возможность использовать вызовы WINAPI, что резко сокращает размер и количество передаваемых пакетов. В итоге данный протокол чаше демонстрирует возможность комфортной работы на полосе 4-8 Кбайт в секунду, когда Citrix даже при установке SPEEDSCREEN2 (утилиты для сжатия потока ICA) не демонстрирует показатели лучше 10 килобайт в секунду.

Как это может отразиться на работе вашего предприятия? Если вам придется подключать удаленное подразделение, то использование коммерческих линий часто оказывается очень дорогим удовольствием и сжатие потока будет очень важно. К примеру, для очень комфортного подключения одного клиента по RDP5.0 придется использовать два модема 33.6, а по ICA — в обязательном порядке выделенный канал.

Второй фактор при покупке данных продуктов — возможность приобрести их на территории России. Если продукты Microsoft еще присутствуют, то продукты от компании Citrix вам придется поискать. Как дополнительный плюс надо отметить русифицированость продуктов Microsoft

Вопрос1. Что из себя представляет сервер приложения?

Вопрос2. Что нужно для предварительной  подготовки настройки?