Эксперт-Система - ПО для брокерской и биржевой деятельности

Тестирование производительности

Описание

Мы практикуем гибкий подход к тестированию системы на каждом этапе разработки с целью снизить затраты на ее оптимизацию в дальнейшем. При анализе производительности используются не только различные виды тестирования, такие как Load, Stress, Stability, но и реализуются различные подходы, такие как Concept proof, Regular Performance Drop Analysis, Capacity Planning.


Процесс Анализа Производительности

Каждый этап анализа производительности может состоять из нескольких итераций и включает в себя:

  • Детальный анализ характеристик нагрузки живой системы или их ожиданий, если система находится на стадии первичной разработки;
  • Точное планирование тестирования и подготовку необходимой платформы;
  • Проведение теста;
  • Выявление и рекомендации по исправлению проблем;
  • Повторное проведение теста при необходимости;
  • Составление финального отчета для заказчика теста.

Нагрузочное тестирование (Load testing)

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

Стресс-тестирование (Stress testing)

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

Тестирование на стабильность (Stability testing)

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

Тестирование концепта

Анализ производительности на стадии разработки архитектурных решений – один из самых эффективных с точки зрения дальнейшего введения системы в эксплуатацию. Этот подход называется Тестирование концепта и проводится на самых ранних этапах разработки для того чтобы подтвердить или опровергнуть состоятельность созданного дизайна и предсказать его финальное соответствие требованиям к производительности.  Для проведения такого анализа используются в основном Нагрузочное Тестирование (Load Testing) и Стресс-тестирование (Stress-testing).

Регулярный анализ отклонения производительности

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

Планирование предельной производительности

Предельная производительность платформы – метрика, позволяющая отвечать на стратегические бизнес-вопросы о развитии системы в перспективе – зависит от множества различных факторов: поведения конечного пользователя, сбалансированности системы, производительности аппаратной части, операционной системы и конфигурации окружения.
Анализ предельной производительности находящейся в эксплуатации платформы – одна из самых амбициозных и сложных задач в области производительности систем.  Это комплексное исследование сочетающее в себе не только определение самого предела производительности и выявление узких мест системы, которые мешают увеличению этого предела, но и различные тесты на выносливость и сбалансированность системы и поиск ее оптимальной конфигурации.
Критерием, по которому  определяется предел производительности системы может являться не только отказ компонента, им может быть еще и набор метрик, продиктованных бизнес-требованиями к системе, например, скорость обработки ордера или задержка в распространении системой котировки.
Регулярный анализ предельной производительности позволяет аккуратно планировать дальнейшее развитие системы с точки зрения необходимости бизнеса.

Исследование производительности

Мы понимаем, что иногда наших стандартных отлаженных процедур анализа производительности не хватает для того, чтобы ответить на все беспокоящие бизнес вопросы:

  • Какое аппаратное обеспечение нужно установить, для того, чтобы система выдерживала заданную нагрузку?
  • Как быстро система может восстановить свою функциональность для всех онлайн пользователей после сбоя и перезагрузки?
  • Как повлияет перезагрузка отдельных компонент на доступность платформы онлайн пользователям?
  • Как поведет себя платформа при кластеризации ее компонент?

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

Клиенты

РТС биржа thinkorswim by TDA GFT КИТ Финанс
© 2002—2012 +7(812)438-16-26 Санкт-Петербург, Барочная улица, дом 10, корпус 1
Система Orphus