11
Нагрузочное тестирование клиент-серверных приложений Алексей Якимович. IBA

якимович нагрузочное тестирование клиент серверных приложений

  • Upload
    sef2009

  • View
    1.903

  • Download
    3

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: якимович нагрузочное тестирование клиент серверных приложений

Нагрузочное тестирование клиент-серверных приложений

Алексей Якимович. IBA

Page 2: якимович нагрузочное тестирование клиент серверных приложений

Пилотный проект по нагрузочному тестированию Lotus Notes

Бизнес цель проекта: Нужно организовать нагрузочное тестирование клиент-серверного ПО на платформе Lotus Notes, чтобы понять и улучшить характеристики системы.

Цели пилотного проекта: 1. Понять существует ли техническая возможность проведения

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

производительности.3. Написать программные скрипты, эмулирующие реальные действия

пользователя и понять особенности написания скриптов для терминалов.

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

5. Понять требования к программному и аппаратному обеспечению для создания тестового стенда, эмулирующего работу большого количества пользователей.

Page 3: якимович нагрузочное тестирование клиент серверных приложений

Проблемы нагрузочного тестирования клиент-серверного

ПОНаписание нагрузочных скриптов

для клиент-серверных приложений технически и организационно является сложной задачей:

1. Трафик между клиентом и сервером может не обрабатываться приложениями по нагрузке (например, он может быть зашифрован).

2. Распознавание интерфейса для некоторых видов приложений не возможно из за отсутствия библиотек распознавания.

3. Обработка протоколов трафика или библиотеки распознавания интерфейса должна быть либо разработана с нуля либо куплена.

СерверКлиент

Протоколы

Нагрузочное ПО

Page 4: якимович нагрузочное тестирование клиент серверных приложений

Терминальное ПО как решение проблем распознавания интерфейса

Решением проблем нагрузочного тестирования клиент-серверного ПО является использование терминального ПО. В этом случае интерфейс

“стандартизируется” терминальным ПО.

Page 5: якимович нагрузочное тестирование клиент серверных приложений

Терминальный сервер Сitrix XenApp

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

ICA Клиент

XenApp Server

ICA Протокол

Application Hub

Page 6: якимович нагрузочное тестирование клиент серверных приложений

Тестовый Стенд

IBM Rational Performance Tester 7.0

Сервер Citrix XenApp Сервер Lotus DominoГенератор Нагрузки

Lotus NotesLotus Notes

Lotus Domino Прикладное ПОLotus Notes

Win Server2003Win Server 2008Citrix XenApp 5.0

100 Мбит/с 100 Мбит/с

Ограничения тестового стенда:

1. OC на XenApp сервере была 32х битной, что ограничило возможности расширения памяти. -> Для реального стенда нужна 64- битная ОС

2. Для каждого приложения Lotus Notes на сервере XenApp нужно от 50Мb памяти.

3. Сеть была 100Мбит/с -> Для реального стенда нужна будет 1Gbit/c сеть.

4. Ограничение графических ресурсов генератора нагрузки. Безопасно запускать 20-40 пользователей на одном генераторе.

Page 7: якимович нагрузочное тестирование клиент серверных приложений

IBM Performance Tester - написание нагрузочных скриптов

Что показало написание нагрузочных скриптов для Сitrix:

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

2. Элементы интерфейса не распознаются, взаимодействие идет по координатам.

3. Распознавание и синхронизация страниц замедляют выполнение скрипта, но улучшают выполнение скриптов.

4. Нужно избегать использование мыши,когда это возможно.

5. Скрипты должны быть достаточно простыми и тестировать только определенную функциональность.

6. Отсутствие распознавания элементов интерфейса приводит к тому, что запись и отладка скриптов нагрузки занимает в 3-4 раза больше времени, чем, например, для web приложений.

Page 8: якимович нагрузочное тестирование клиент серверных приложений

IBM Performance Tester – нагрузочное тестирование

Что показало показало нагрузочное тестирование Lotus:

1. Нельзя использовать синхронизацию действий виртуальных пользователей (rendezvous points).

2. Количество виртуальных пользователей ограничено графическими ресурсами компьютера. Рекомендуется записывать скрипты нагрузки для маленьких размеров экрана и небольшого количества цветов.

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

4. Результаты тестирования показали, что время отклика было от 1.5 до 5 секунд, что является хорошим результатом.

Page 9: якимович нагрузочное тестирование клиент серверных приложений

Выводы 1. Виртуализация приложений с помощью терминального ПО позволяет

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

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

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

Page 10: якимович нагрузочное тестирование клиент серверных приложений

Вопросы

?

Page 11: якимович нагрузочное тестирование клиент серверных приложений

Контактная информация

[email protected]