Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Разработка модели нагрузки

Для этого необходимо определить следующее:

  • список тестируемых операций
  • интенсивность выполнения операций
  • зависимость изменения интенсивности выполнения операций от времени

В список тестируемых задач должны войти операции, критичные с точки зрения бизнеса, а также с технической точки зрения:

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

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

Инструменты нагрузочного тестирования

Выделим бесплатный инструмент для автоматизированного нагрузочного тестирования:

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

Большие плюсы Jmeter это: большое коммьюнити, он опенсорсный и с достаточно частой периодичностью обновляется. Еще у программы вполне удобный GUI и возможность запуска через консоль.

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

Создание и отладка тестов

Напомним, что само по себе нагрузочное тестирование — это автоматизированное тестирование, а значит это разработка, отладка, контрольный запуск и анализ результатов, а не просто запись и запуск (Record & Playback).

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

Проведение тестирования

С проведением тестирования серверной части приложения всё просто: мы уже создали и отладили скрипты, осталось только запустить и подождать. Но хотелось бы отдельно отметить тестирование производительности клиентской части, о котором речи вообще не было.

Основная цель тестирования клиентской части состоит в измерении времени, необходимого браузеру, для загрузки HTML-страницы. Наиболее важными показателями здесь являются количество загружаемых данных, их объем, а также количество выполненных запросов.

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

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

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

Анализ результатов

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

1. Потребление ресурсов центрального процессора, %

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...