| ПРОЕКТ ПОДДЕРЖИВАЕТСЯ ООО "ТОНК" Linux и Windows терминалы с поддержкой ICA и RDP. |
Citrix Server Test Kit (CSTK) - это набор инструментов, которые могут быть использованы администраторами для настройки и проверки разнообразных режимов пользовательской нагрузки на сервер.
CSTK позволяет имитировать нагрузку на сервер путем запуска скриптов имитации приложений. Эти скрипты имитируют работу разнообразных приложений и работают без вмешательства пользователей. Преимущества использования CSTK включают:
Кроме того, в состав CSTK входит документация в формате PDF и readme.txt
Для установки Citrix Server Test Kit вам необходимы:
Сервер
CSTK можно установить на следующие платформы:
Клиенты
Число необходимых клиентских устройств зависит от числа пользователей, которые вы хотите привлечь к участию в тесте. На каждом устройстве должен быть инсталлирован Citrix Client.
Поддерживаются все версии клиентов ICA. В зависимости от типа аппаратуры устройства и типа клиента вы можете запустить несколько сеансов ICA на одном устройстве клиента. При адекватном потреблении CPU, один клиент ICA WIN32 обычно требует 8Мб RAM плюс по 5Мб на каждый сеанс ICA.
Прикладные программы
CSTK содержит простые скрипты, запускающие стандартные программы Windows - WordPad, Calculator и Internet Explorer. Помимо них есть скрипты для нижеперечисленных приложений. Эти приложения должны быть инсталлированы на сервере.
Если требуемое приложение ((Internet Explorer, Microsoft Office 97, Microsoft Office 2000) не установлено на сервере, перед использованием CSTK вы должны его инсталлировать.
CSTK21.exe.
Если вы инсталлируете с CD-ROM, то запустите setup.exe
из каталога CSTK
| Normal user script | Power user script | |
| Скрипты, использующие английскую версию Microsoft Office 97 или 2000, но могут быть запущены на не-английском сервере Citrix | ||
| Microsoft Word | X | |
| Microsoft Excel | X | |
| Microsoft Access | X | |
| Microsoft PowerPoint | X | |
| Microsoft Access и Excel | X | |
| Microsoft Word и Excel | X | |
| Локализованные версии Inernet Explorer, кроме японской | ||
| Internet Explorer | X | |
| Утилиты OS/2 (кроме японских версий) | ||
Перед запуском теста необходимо с помощью консоли CSTK создать тестовую конфигурацию. Тестовая конфигурация состоит из одной или нескольких групп пользователей
Для создания гуппы пользователей:
Внимание.
Для работы Microsoft Office с CSTK необходимо сделать некоторые изменения в реестре. Поэтому крайне нежелательно использовать CSTK в рабочей среде.
Замечание.
Вы можете также использовать пользователей, созданных системными утилитами Windows NT. Пользователи могут быть локальными, доменными или пользователями Active Directory. Тип учетной записи слабо влияет на результаты CSTK.
Выбраные пользователи отображаются в главном окне консоли. В строке состояния появляется сообщение "Waiting to Start", это означает, что тест еще не запущен. Повторите вышеперечисленные шаги для создания дополнительных групп пользователей.
Выбор скриптов зависит от вашей среды и сервера. Например, если тестируемые пользователи - бухгалетеры и их помощники, то и тестовую конфигурацию следует подобрать соответствующую.
Масштабируемость включает анализ разных конфигураций. В этом тесте измеряется производительность системы при раличной нагрузке. Нагрузка постепенно увеличивается вплоть до полного исчерпания ресурсов системы. Для измерения производительности используется Perfmon.exe.
Перед запуском теста в главном окне консоли CSTK должна присутствовать хотя бы одна группа пользователей.
Для запуска теста:
Если найдено узкое место, вы можете модифицировать сервер и запустить еще один тест. Если вы хотите запустить тот же тест, а сервер перед модернизацией должен быть выключен (например, для добавления RAM), сохраните конфигурацию на жесткий диск.
Вы можете одновременно зарегистрироваться в нескольких сеансах ICA с одного устройства клиента Win32, но не больше, чем позволяют ресурсы устройства клиента. Кроме того, вы можете определить интервал времени между запусками, чтобы позволить серверу обработать запросы на подключение.
Launcher.Exe.
Wfcrun32.exe).
Помимо стандартных скриптов, включенных в комплект Citrix Server Test Kit, вы можете создавать собственные скрипты.
Любая программа, которая может работать в WinFrame или MetaFrame, может быть использована в скриптах. Вы можете использовать любой скриптовый язык (например, WinBatch или Microsoft Windows Script), или любое исполняемое приложение или пакетные файлы (включая cmd.exe)
Хотя CSTK использует английский интерфейс, написанные вами скрипты могут поддерживать любые языки.
Перед добавлением скриптов и приложений убедитесь, что добавленный скрипт свободен от ошибок и присутсвует все требуемое для его работы программное обеспечение.
Чтобы добавить свой скрипт:
Для удаления скрипта выберите в меню Tools консоли CSTK команду
"Delete Application Script"
Вы можете удалить только свои скрипты. Скрипты из комплекта CSTK удалить нельзя.
Создание скрипта
Используя notepad или любой текстовый редактор создайте файл dirlist.cmd
следующего содержимого:
cd \ dir /s
Добавление скрипта к набору скриптов
Запустите консоль CSTK, выберите в меню Tools команду
Add Application Script,
В поле Application Name введите "Directory". Щелкните Browse
и выберите из списка файл dirlist.cmd.
Поскольку dirlist.cmd запускает одновременно только одно приложение, выберите Normal user и щелкните OK
Создание группы пользователей
В меню User Group выберите Add или щелкните "+" на панели иконок.
В диалоговом окне "User Group Type" используйте поля User Basename
и Number of Users для задания имен пользователей. В нашем примере
мы создадим двух пользователей TestUsr1 и TestUsr2.
В поле User Basename введите "TestUsr", а вполе Number of Users
введите 2. Щелкните Yes.
Теперь в списке Available Scripts выберите "Directory" и щелкните Add
для добавления скрипта в список Configured Scripts.
Щелкните OK.
Запуск тестового скрипта на сервере
Из меню Test выберите Start Test или щелкните на икноку с
молнией.
Запустите тестовые сеансы
После запуска теста поле Status показывает "0 users connected",
т.е. пользователи еще не подключены.
Зарегистрируйтесь на сервере Citrix под именами TestUsr1 или TestUsr2.
Пароль не нужен.
По мере подключения пользователей в поле Status будет увеличиваться
число пользователей. Когда на клиенте запустится скрипт, Status
покажет "Test in progress". По завершении работы скрипта он будет запущен
заново.
Если включена журнализация, то в журнал будут записываться временные метки
и число итераций выполнения dirlist.cmd. Для изменения размещения файла
журнала воспользуйтесь меню Options.
Для остановки теста щелкните Stop на консоли CSTK.
Обнаружение источника проблем с производительностью далеко не всегда очевидная задача. Оно требует запуска различных инструментов в разных итерациях.
"Узкое место" - это условие, при котором ограничения одного из компонентов снижает рабочую скорость всей системы. При высокой нагрузке узким местом станет устройство с наименьшей пропускной способностью. Убыстрение другого устройства не поможет - оно приведет только к меньшему использованию этого устройства.
Наилучший индикатор узкого места - эо время отклика системы, ощущаемое пользователями. На их ощущения оказывает влияние способ их работы и их ожидаемое время отклика приложения.
Хотя 100%-е использование ресурся является ясным предупреждением,это не обязательно является достаточной причиной для узкого места.
Далее в этой статье будут использованы следующие термины:
| Термин | Значение |
|
Virtual Memory Manager (VM) (Менеджер виртуальной памяти) |
Управляет распределением, резервированием, подкачкой памяти. VM перемещает страницы кода и данных между диском и памятью в процессе, называеом подкачкой (paging). |
| Page Fault (подкачка) |
Происходит, когда процесс запроашивает страницу кода или данных, отсутствующую в рабочем наборе |
| Hard page faults (аппаратная подкачка) |
Происходит если запрошенная страница должна быть взята с диска |
| Soft page faults (программная подкачка) |
Происходит когда запрашиваемая страница находится где-то в физической памяти |
| pagefile.sys | Часть дискового протранства, используемая операционной системой для резервирования физической памяти. Если процесс запрашивает больше физической памяти чем доступно, VM освобождает часть памяти, записывая на диск страницы памяти, к которым реже всего производилось обащение. По мере роста запросов выделения памяти VM увеличивает размер файла подкачки до тех пор, пока не накончится свободное место на диске или не будет достигнут лимит размера файла подкачки. |
| Working set (рабочий набор) |
Физическая память, предоставленная процессу |
Средний рабочий набор для MSOffice:
Для каждой итерации теста запишите параметры:
Тип процессора
Во время теста запишите следующие параметры с помощью Performance Monitor:
Определение узких мест
Узкое место, связанное с CPU, легко заметить. Высокий уровень процессорного времени со средней длиной очереди больше 2 означает перегрузку CPU.
Способ устранения узкого места
Память
Память является одним из компонентов, которых легко нарастить. Запишите следующие параметры:
Наилучшим индикатором узкого места, связанного с памятью, является частота подкачки (page fault rate). Ожидайте большого числа подкачек при инициализации приложения. Именно аппаратная подкачка замедляет систему и снижает общую производительность. Постоянная аппаратная подкачка выше 5 раз в секунду является явным признаком нехватки в системе памяти.
Для измерения аппаратной подкачки смотрите параметр Page Reads/sec (частота чтения с диска). Другим индикатором нехватки памяти является Logical Disk: %Disk Time. По мере роста подкачки страницы кода и данных пишутся на диск (в Pagefile.sys) для освобождения кадров физической памяти. Освободившиеся кадры занимаются страницами, взятыми с диска. Поэтому с ростом подкачки наблюдается высокая активность жесткого диска. Активность выше 40% требует разбирательства.
Способ устранения узкого места
Единственный способ - добавьте больше памяти
Жесткий диск
Жесткие диски являются самыми медленными компонентами системы. Запишите следующие параметры:
Определение узких мест
Часто определение причины узкого места - диск или память - затруднено. При нехватке памяти повышается активность диска из-за процесса подкачки в виртуальную память. В этом случае узким местом является память, а не диск. Узким местом является диск, если % использования диска превышает 40%, а частота аппаратной подкачки невысока (менее 5 раз в секунду).
Способ устранения узкого места
Купите более скоростной жесткий диск или разделите файлы по нескольким дискам. Есть много способов повысить производительность жестких дисков. Если ваш диск использует интерфейс IDE, модернизируйте его на SCSI; если он 7200 RPM, моденизируйте на 10000 RPM.
Сетевой интерфейс
Для записи производительности сети инсталлируйте Network Agent Monitor как сеетвую службу.
запишите следующие параметры:
Определение узких мест
Узкое место содержится в сетевом интерфейсе, если параметр Bytes Total/sec приближается к скорости сетевой карты. Для 10Mb сетевой карты узкое место возникает при скорости около 1 Mб/с. Это сильно зависит от вашей сети.
Способ устранения узкого места
Если сеть снижает общую производительность, то есть несколько простых способов съэкономить сетевой траффик. Одним из способов является удаление неиспользуемых сетевых протоколов. Например, NetBIOS потребляет боьше траффика, чем TCP/IP или IPX.
Другие параметры
Остальные параметры, которые помогут измерить производительность системы:

Анализ
Время ответа системы приемлимо в холостом режиме. При росте нагрузки с кратностью 5, замечено значительное снижение производительности. На графике ясно показан рост подкачки, особенно 27.5 аппаратных подкачек в секунду, что слишком много. Из-а постоянной подкачки активность диска выше 40%. Использование CPU в пределах нормы.
Заключение
В этом примере нехватка памяти снижает общую производительность и является
узким местом. Вам необъодим файл подкачки размером
192MB для избежания ошибок виртуальной памяти.
В следующем примере добавлена память и повторно запущен тест

Анализ
Время ответа системы и ее работоспособность показыват, что система достаточно стабильна даже при предыдущей нагрузке - использование CPU всего 20%. Однако, добавление еще десятка пользователей существенно снижает время отклика. Сильная подкачка (170.61 в сек.) из-за нехватки памяти вызывает рост активности жесткого диска выше 60%. Вам необходим файл подкачки около 256Мб для избежания ошибок виртуальной памяти.
Заключение
В этом примере с ростом числа пользователей память все еще остается узким местом. В следующем примере мы добавим память и повторим тест.

Анализ
Система весьма стабильна и обеспечивает хорошую производительность для пользователей. Использование CPU около 57%. Подкачка в пределах нормы, частота аппарптной подкачки около 0.21/с. При добавлении пользователей использование процессора поднимается до 87.92%, после чего время отклика становится крайне большим и падает производительность. Средняя длина очереди 65.45. При увеличении нагрузки требуется файл подкаки 385 Мб.
Заключение
В этом примере узким местом является процессор. Среднее время использования
процессора и длина очереи являются хорошим индикатором того, что проблема
в процессоре. Средняя длина очереди 2 является нормальной.
В следующем примере мы добавим процессор и повторим тест.

Анализ
В однопроцессорной системе ограничением является процессор, а не память. В этом примере ресурс, ограничивавший нас ранее, увеличен - добавлен второй процессор. Теперь система поддерживает то же число пользователей, что и ранее, но со средней подкачкой 212.9/с и использованием процссора 64.89% Работоспособность в такой конфигурации приемлимая. Однако, при увеличении количества пользователей испоьзование процессора и подкачки возрасло до максимума. Это стало заметным с ростом времени отклика системы. Использование процессора возросло до 80%, длина очереди - до 18. Подкачка 8/с. По мере роста потребовался файл подкачки 385Мб.
Заключение
В этом примере узким местом стал процессор. Хотя огранчения памяти не были достигнуты первыми, из следует рассмотреть во вторую очередь. Эта конфигурация показывает сбалансированную систему, в которой и процессоры, и память используются максимально эффективно.

Анализ
В предыдущем примере с 2 процессорами система достигла предела использования процессора. В этом сценарии система может поддерживать больше пользователей, чем в предыдущих примерах. Использование процессора не превышает 40, подкачка заметно возрасла до 280/с. Вход в систему занимает некоторое время, но в пределах допустимого.
С ростом числа пользователей заметна разница в поведении системы. Загрузка всех процессоров поднимается до 85%, средняя длина очереди - 17. При дальнейшем росте числа пользователей производительность становится неприемлимой.
Заключение
Мощность системы ограничивается только процессором; память вообще не рассматривается. Для всех пользователей достаточно файла подкачки 2000 Мб.
Замечание.
Удваивание числа процессоров не означает, что система сможет поддерживать вдвое больше пользователей.
Также о специфике многопроцессорных систем в среде Citrix MetaFrame читайте статью "Замечания о масштабировании MetaFrame"