ТЕСТИРОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ

advertisement
ТЕСТИРОВАНИЕ
ПРОИЗВОДИТЕЛЬНОСТИ
Решение для анализа поведения
ИТ-системы под нагрузкой
Производительность информационных систем – это область, которая
никогда не теряет актуальности в современных департаментах ИТ
крупных организаций. Банки, ритейлеры, операторы связи, страховые
компании и государственные ведомства с каждым днем становятся
все более зависимы от информационных систем. С каждым днем
сложность и уровень интеграции ИТ-систем возрастает, а значит
производительность критичных бизнес-процессов зависит от
всё большего количества компонентов и становится всё менее
предсказуемой. Эта ситуация опасна тем, что в какой-то момент
ИТ-руководитель вынужден признать, что он не может гарантировать
бизнес-подразделениям необходимую производительность,
быстродействие и надежность ИТ-сервисов. Он не знает какой
уровень нагрузки является максимальным для ИТ-системы. Также
он не знает, как скажется на производительности любое изменение
конфигурации, например, установка новой версии ИТ-системы или
обновление промежуточного ПО.
Тестирование производительности подразумевает создание тестовой
среды, в которой будет размещена копия реальной ИТ-системы. Это
позволяет проводить эксперименты, создавая нагрузку на систему
путем эмуляции одновременной работы сотен и тысяч пользователей,
запуская «тяжелые» серверные операции, моделируя взаимодействие с
другими ИТ-системами.
Тестирование
производительности
позволяет Вам
взять ситуацию
под контроль
и гарантировать
Бизнесу высокое
качество сервиса
Преимущества для бизнеса
Тестирование
производительности
позволяет:
•
Определить максимальную
производительность ИТсистемы и выяснить
o сколько пользователей
может работать
в системе
одновременно?
o при какой нагрузке быстродействие критичных бизнес-операций снижается?
o при какой нагрузке
ИТ-сервис становится недоступен?
•
Измерить время
выполнения критичных операций
на разных уровнях нагрузки
•
Обнаружить узкие
места, которые ограничивают
производительности ИТсистемы
1
•
Сравнить между собой
различные версии ИТ-системы,
различные конфигурации
оборудования и системного ПО
•
Выяснить, готовы ли Вы
к сезону высоких продаж,
рекламе в интернете или
открытию новых филиалов
•
Узнать какой объем базы
данных является предельным
для ИТ-системы
Но главное – тестирование
производительности позволяет
Вам взять ситуацию под
контроль и гарантировать
Бизнесу высокое качество
сервиса.
Решение Перфоманс Лаб
Управляя уровнем
нагрузки во время
тестирования,
наши инженеры
определяют соответствует
ли система
требованиям по
производительности
Наши услуги разработаны
с учетом типичных
потребностей наших
клиентов и включают четыре
основных вида тестирования
производительности.
Нагрузочное
тестирование
Классический вид тестирования
производительности - нагрузка
на ИТ-систему создается
при помощи «виртуальных
пользователей», которые
эмулируют действия
реальных пользователей.
Такая нагрузка очень близка
к реальной, поэтому данный
метод позволяет точно
оценить максимальную
производительность. Для
генерации нагрузки Перфоманс
Лаб использует специальные
инструменты, такие как JMeter и
LoadRunner.
Управляя уровнем нагрузки
во время тестирования,
наши инженеры определяют
- соответствует ли
система требованиям по
производительности, таким
как количество операций в час,
времена отклика, количество
одновременно работающих
пользователей и другим.
Вам необходимо нагрузочное
тестирование, если вы хотите
•
уменьшить
риски деградации
производительности, сбоев
и отказов ИТ-системы
под нагрузкой за счет
своевременного обнаружения
проблем производительности и
«узких мест».
•
сравнить
производительность различных
версий ИТ-системы, разных
конфигураций оборудования,
технологий.
•
2
смоделировать увеличение
нагрузки на систему, ожидаемое
в результате наступления
«высокого сезона», рекламной
акции или роста бизнеса.
•
оптимизировать будущие
расходы на инфраструктуру за
счет предоставления точной
информации о потребностях
ИТ-системы в аппаратных
ресурсах в моменты ожидаемой
и пиковой нагрузки.
•
повысить
производительность критичных
бизнес-операций.
Стресстестирование
Стресс-тестирование оценивает
надёжность и устойчивость
системы в условиях работы
на стрессовых уровнях
нагрузки. Стрессовая нагрузка
превышает максимальную в
несколько раз, поэтому мы
заранее знаем, что система не
справится и откажет. Стресстесты проводятся для того
чтобы узнать, как именно будет
выглядеть отказ системы:
восстановится ли она после
сбоя автоматически, будут ли
потеряны критически важные
данные, смогут ли завершиться
прерванные пользовательские
операции и системные
процессы.
Тестирование
объемов
Тестирование объемов
определяет зависимость
производительности системы
от размера базы данных. Как
правило, в любой ИТ-системе
со временем количество данных
увеличивается, и это приводит
к замедлению выполнения
операций, требующих
обращения приложения к базе
данных.
В ходе тестирования объемов,
Перфоманс Лаб генерирует
консистентные тестовые
данные в тестовой базе данных.
Методика
тестирования
создается
специалистами
Перфоманс Лаб
после анализа
технической
документации,
бизнес-процессов
системы, а также
опроса специалистов
компании-заказчика.
Количество сгенерированных
данных может быть любым
и позволяет провести
необходимое количество тестов
на разных объемах данных.
Заказчик получит точную
информацию о пороговых
объемах базы данных (тех, после
которых производительность
деградирует). Это
даст возможность
провести оптимизацию
производительности или
настроить процедуры
архивирования или усечения баз
данных.
Тестирование
стабильности
Тестирование стабильности
позволяет смоделировать
поведение системы при
продолжительной нагрузке на
систему (от нескольких часов
до нескольких суток). Тесты
поводятся на средних уровнях
нагрузки и помогают выявить
утечки памяти, переполнения
буферов, массивов и таблиц.
Кроме этого, тестирование
стабильности позволяет
убедиться, что время обработки
данных или времена отклика
являются стабильными и не
ухудшаются по прошествии
времени.
Приступая к работе
по тестированию
производительности
Если вы решили привлечь нас
к работам по тестированию
производительности, то мы
предложим следующий план
из пяти этапов.
Готовая методика тестирования
передается на согласование
заказчику.
Этап 1: Разработка
методики тестирования
Определение профиля
нагрузки
Методика тестирования
создается специалистами
Перфоманс Лаб после анализа
технической документации,
бизнес-процессов системы,
а также опроса специалистов
компании-заказчика. Будут
выполнены следующие работы:
Особое внимание при создании
методики тестирования
отводится определению
профиля нагрузки.
•
сбор и анализ статистики
промышленной среды
•
сбор и анализ статистики
утилизации аппаратных
ресурсов промышленной среды
•
согласование требований
производительности
•
определение бизнеспроцессов и сценариев нагрузки
•
описание взаимодействия
с внешними системами
•
3
разработка чек-листа по
оценке готовности системы к
проведению тестирования
Профиль нагрузки представляет
из себя набор операций с
заданными интенсивностями.
Набор таких операций может
определяться на основе
статистических данных,
либо анализа требований,
предъявляемых к системе.
Как правило выбирается
несколько профилей нагрузки,
каждый из которых отличается
набором операций или
их интенсивностями. Для
качественного нагрузочного
тестирования должны
быть выбраны операции,
обеспечивающие наибольшую
нагрузку на систему.
КАК РАБОТАЕТ LOADRUNNER
Приложение
под нагрузкой
Тысячи виртуальных
пользователей выполняют
транзакции, эмулируя
промышленный трафик
В ходе испытаний, результаты
мониторинга серверных и
сетевых ресусов отображаются
в контроллере
Результаты тестов сохраняются
в специальной базе данных
и позволяют проводить анализ
LoadRunner Controller
Контроллер - это пульт управления
нагрузочным тестом
В рамках данного
этапа Перфоманс
Лаб предоставляет
своим клиентам
возможность
использования
собственной
технологии ”PLUS”,
которая позволяет
существенно
уменьшить затраты
и повысить качество
работ
Этап 2: Разработка
средств тестирования
производительности
•
Это наиболее сложный этап
с технической точки зрения.
Инженеры Перфоманс Лаб
выполняют разработку и
отладку средств тестирования
производительности.
•
Для получения корректных
результатов тестирования
версия системы на тестовом
стенде фиксируется перед
началом работ и не изменяется
в ходе проекта. Внесение
изменений в тестируемую
систему, в ходе выполнения
проекта, допускаются лишь для
устранения ошибок, мешающих
дальнейшему проведению работ.
Для успешного проведения
тестирования тестовый стенд
должен быть доступен не менее
95% рабочего времени.
Для проведения тестирования
специалистам Перфоманс
Лаб предоставляется доступ к
тестовому стенду с правами на
уровне тестируемых ролей и
пользователей системы, а также
на уровне администраторов ОС
и СУБД.
Создание тестовой модели
состоит из следующих этапов:
•
разработка нагрузочных
скриптов и сценариев нагрузки,
4
разработка эмуляторов
внешних систем (если
необходимо),
создание скриптов
генерации/деперсонализации
БД (если необходимо),
•
подготовка тестовых
данных,
•
настройку средств
мониторинга и проведение
пробных тестов.
В рамках данного этапа
Перфоманс Лаб предоставляет
своим клиентам возможность
использования собственной
технологии ”PLUS”, которая
позволяет существенно
уменьшить затраты и
повысить качество работ за
счет применения готовых
средств тестирования
производительности, например,
таких как SOAP/REST эмулятор
процессинга ISO-8583, SOAPэмулятор кредитного брокера,
анализатор логов WebSphere,
модуль обезличивания баз
данных MS SQL, генератор
тестовых данных клиринга Visa и
Mastercard.
Этап 3: Проведение тестов
Для проведения тестирования
специалистам Перфоманс
Лаб предоставляется доступ к
станциям генерации нагрузки.
В рамках этапа выполняется:
•
запуск тестов
в соответствии
с согласованными
сценариями нагрузки,
•
•
обработка результатов,
оценка валидности
проведенных тестов.
Этап 4: Системный анализ
и подготовка отчета
Результаты тестирования
анализируются специалистами
Перфоманс Лаб для
формирования выводов и
рекомендаций.
Выполняется:
•
анализ узких мест
производительности,
•
подготовка рекомендаций
по оптимизации кода,
архитектуры, инфраструктуры
системы или разработке
соответствующих
организационных регламентов,
•
подготовка отчета с
результатами тестирования,
перечнем обнаруженных
проблем и рекомендациями.
Этап 5: Поддержка решения
На данном этапе
выполняется анализ
изменений в тестируемой
системе для поддержания
решения тестирования
производительности в
актуальном состоянии.
Перфоманс Лаб предлагает
услуги по настройке процесса
поддержки, которые могут
включать как комплексное
обслуживание созданного
решения, так и обучение
специалистов заказчика.
Почему Перфоманс Лаб
Перфоманс Лаб
является широко
признанным
лидером в области
тестирования
производительности
5
Перфоманс Лаб является
широко признанным лидером
в области тестирования
производительности. Наша
запатентованная технология
“PLUS” не имеет аналогов
в России и позволяет
провести тестирование
производительности не
только систем, работающих
на основе известных
протоколов, но и системы с
протоколами собственной
разработки, системы с
наличием асинхронных вызовов,
системы со сложными и
зашифрованными протоколами,
интеграционные шины и вебсервисы.
Перфоманс Лаб уделяет
большое внимание не только
техническим аспектам проекта,
но и качеству его управления.
Проектный офис Перфоманс
Лаб применяет методологию
управления проектами Prince2
для того, чтобы гарантировать
клиентам достижение целей
проекта в рамках согласованных
сроков, бюджета и качества.
Работая с нами, вы можете быть
уверены, что:
•
В вашем проекте
будут применены
передовые международные
практики тестирования
производительности.
•
Будут локализованы
и описаны проблемы
производительности и узкие
места.
•
Вы получите реальные
рекомендации по оптимизации,
после применения которых
сможете получить увеличение
производительность (в нашей
практике нередки случаи, когда
наши рекомендации позволяют
повысить производительность
ИТ-системы более чем в 100
раз).
•
Риски деградации
производительности, сбоев
и отказов ИТ-системы будут
сведены к минимуму.
•
Цели проекта будут
достигнуты точно вовремя.
Пример проекта в банке ТОП-10
В связи
с планируемой
миграцией
на собственный
процессинг,
специалистами
банка были
идентифицированы
риски, связанные
с производительностью и отказоустойчивостью ИТинфраструктуры
Хоум Кредит энд Финанс
Банк — российский
коммерческий банк, один из
лидеров российского рынка
потребительского кредитования.
Присутствует более чем в 2.000
городах России, клиентами
банка является более 31,6 млн
человек. ХКФ Банк занимает 8
место в рейтинге самых крупных
потребительских банков России
и 10 место по объему депозитов
физических лиц.
Для автоматизации
бэк-офиса розничного
обслуживания клиентов,
который поддерживает работу
с розничными операциями,
персональными счетами и
платежами, банк использует
систему TranzWare CMS (продукт
компании Compass Plus).
Фронт-офисное решение,
необходимое для управления
терминальными устройствами,
маршрутизации и авторизации
транзакций, взаимодействия
с платежными системами и
авторизационными хостами
сторонних производителей,
работает на платформе
TranzWare Online.
Задача
Решение
В 2013 году банк принял
решение о внедрении
собственного процессинга. Это
значительно упрощает решение
бизнес-задач, сокращает
затраты при использование
сторонних процессинговых
центров.
Перфоманс Лаб предложили
банку сфокусироваться
на тестировании
производительности двух
профилей поведения системы:
операционный день и закрытие
дня.
В связи с планируемой
миграцией на собственный
процессинг, специалистами
банка были идентифицированы
риски, связанные с
производительностью и
отказоустойчивостью ИТинфраструктуры и систем TranzWare CMS и Online, в частности:
•
Критическое уменьшение
производительности розничных
операций.
•
Возможные перебои в
обслуживании пластиковых
карт.
6
В рамках работ по минимизации
данных рисков, банком было
принято решение провести
сравнительное тестирование
производительности систем
TranzWare CMS и TranzWare Online
до и после внедрения доработок
собственного процессинга.
К работам по тестированию
производительности была
привлечена компания
Перфоманс Лаб.
Анализ операционной
статистики продуктивной
системы позволили выявить
основные источники нагрузки операции бизнес-пользователей
и фоновых процессы,
выполняющиеся по расписанию.
Анализ интеграционных связей
помог определить характер
взаимодействия с внешними
системами, на основании этого,
профили были дополнены
дополнительными операциями.
Для эмуляции нагрузки
были использованы такие
инструменты как LoadRunner, JMeter, Citrix ICA. Для
генерации тестовых транзакций
платежных карт инженерами
Перфоманс Лаб был применен
эмулятор ISO-8583 собственной
разработки. Также, в ходе
проекта были разработаны
эмуляторы внешних систем,
создающие дополнительную
нагрузку с использованием
технологий JDBS, SOAP, Oracle
AQ, PL/SQL.
Кроме того, были разработаны
механизмы генерации тестовых
данных в БД, в виде пакета
PL/SQL и дополнительных
скриптов LoadRunner.
В результате
проведенных тестов
выяснилось,
что переход
на собственных
процессинг приводит
к деградации
производительности
фронт-офисной
системы TranzWare Online. Ее
производительность
снизилась более
чем в 4 раза
Была проведена серия тестов
на «старой» конфигурации,
после чего такая же серия
тестов была проведена
на «новой» архитектуре, в
которой применялся уже
собственный процессинг
банка. Это позволило сравнить
производительность двух
конфигураций на реальной
нагрузке, соответствующей
продуктивной эксплуатации.
Во время выполнения тестов
специалисты Перфоманс
Лаб осуществляли
мониторинг параметров
производительности ИТ-систем
под нагрузкой. Измерялись
показатели на уровне системных
ресурсов (CPU, Memory,
I/O), на уровне баз данных и
промежуточного ПО, на уровне
приложений (профилирование
кода) и на уровне бизнеспроцесса (времена отклика
операций).
На основании проведенного
системного анализа, инженеры
по производительности
Перфоманс Лаб выявили ряд
узких мест.
7
Выгоды для клиента
В результате проведенных
тестов выяснилось, что переход
на собственных процессинг
приводит к деградации
производительности фронтофисной системы TranzWare
Online. Ее производительность
снизилась более чем в 4 раза.
Инженеры по
производительности
Перфоманс Лаб локализовали
узкое место, которое приводило
к деградации. Им оказался
интерфейс CBA, отвечающий
за взаимодействия системы
TranzWare Online с банковской
системой HomeR. В ходе
тестирования повторялась
ситуация, когда накопление
очереди сообщений к
интерфейсу CBA приводили к
деградации производительности
всех типов операций.
Краткая информация
о Перфоманс Лаб
ПЕРФОМАНС ЛАБ – крупнейшая в России компания
со специализацией в области тестирования и обеспечения
качества ПО. Мы входим в топ-30 мировых QA-компаний.
С 2008 года мы работаем в финансовом и государственном
секторе, ритейле и телекоме, позволяя нашим клиентам
добиваться существенного улучшения качества критичных
для бизнеса ИТ-систем. В 2014 году наш годовой оборот
превысил 360 миллионов рублей.
Перфоманс Лаб является призёром рейтинга работодателей
«Индекс лидерства 2013» в области ИТ и телеком. Это значит,
что нас высоко оценили более 300 наших сотрудников в Москве
и Ижевске. Мы гордимся, что попали в этот рейтинг вместе
с такими компаниями, как IBM, Microsoft, Яндекс и МТС.
Мы выполняем наибольшее число проектов по независимому
тестированию в стране благодаря крупнейшему центру
компетенций, который постоянно развивается.
Нашими клиентами являются лидеры отраслей, такие как МТС,
Вымпелком, МГТС, ВТБ и ВТБ-24, Альфабанк, Райффайзенбанк,
Лето банк, Росбанк, X5 Retail Group, М-Видео, Эльдорадо, Лента,
крупные государственные организации: Пенсионный фонд
Российской Федерации, Департамент ИТ города Москвы,
а также множество других организаций.
ООО «ПЕРФОМАНС ЛАБ»
Москва, ул. Барклая 6 стр.5, офис 511
Тел. +7 495 989 6165
www.performance-lab.ru
ООО «Перфоманс Лаб»
Ижевск, ул. Азина, д. 1, оф. 711
Тел: +7 963 064 2741
Performance Lab US, LLC
4633 Old Ironsides Drive,
Santa Clara, California, 95054, USA
Phone: +1.844.446.7587
performancelabus.com
8
КОНТАКТЫ
Ковалёв
Юрий Викторович
Управляющий партнёр
email: y.kovalev@pflb.ru
моб. +7 965 205 2222
Кутузов
Максим Юрьевич
Генеральный директор
email: ceo@pflb.ru
моб. +7 909 904 1111
Download