20
Предсказуемость и правильное принятие решений при изменении конфигурации ПО и оборудования Функциональное и нагрузочное тестирование с использованием технологии TRAFFIC SIMULATOR www.softpoint.r u Баркетов Павел Технический директор SOFTPOINT

TRAFFIC SIMULATOR

Embed Size (px)

Citation preview

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

Функциональное и нагрузочное тестирование с использованием технологии

TRAFFIC SIMULATOR

www.softpoint.ru

Баркетов ПавелТехнический директор SOFTPOINT

Несколько слов о нагрузочном тестированииЦели создания нагрузочных моделей:

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

Снизить риски падения системы

при изменении настроек или режимов эксплуатации ИС.

Повысить объективность решения на изменение

при выборе новых настроек или режимов эксплуатации ИС.

Сбалансировать вложения и эффект

то есть размер финансирования и приобретаемые выгоды при выборе оборудования.

Предпосылки для создания нагрузочных моделей:

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

1. Рисковые для ИТ-системы изменения• Смена ПО или режимов его эксплуатации (например, миграция

на новую СУБД и пр.).• Перераспределение аппаратных ресурсов (например для

серверов, обслуживающих более 1-ой системы).

2. Спорные по эффективности изменения:• Тонкие настройки ПО (например, настройки СУБД и пр.)• Выбор/смена оборудования (например, выбор нового вендора

и/или новой конфигурации аппаратных ресурсов).

Несколько слов о нагрузочном тестированииСложности реализации:

№1. Нагрузочную модель создать можно. И она даёт свои результаты в той или иной степени в контексте достижения целей.

№2. Создание полнофункционально нагрузочной модели нетривиально. И вместе с тем требует серьезных финансовых вложений.

№1. Анализ информационного потока нетривиален. На подготовительном этапе необходимо проанализировать информационный поток в системе, желательно в пиковые моменты нагрузки. Без средств онлайн мониторинга и фиксации полученных данных задача переходит в разряд нетривиальных.

№2. Создание нагрузочной модели ресурсоемко. Если удалось провести полноценный анализ информационного потока, разложить его на составляющие, то следующим этапом выступает создание нагрузочной модели: разработка сценариев и набора эмуляторов, «роботов», скриптов и пр., что требует привлечение квалифицированных программистов.

№3. «Материал» проведенного тестирования требует системного анализа. Завершающим этапом нагрузочного тестирования становится анализ полученной статистики, то есть потребуется интерпретировать полученную информацию, чтобы составить обоснованное заключение по результатам проведенных тестов.

Утверждения

Факты

Технология для полнофункциональных нагрузочных тестов TRAFFIC SIMULATOR позволяет:

Компания «Софтпоинт» разработала собственный программный продукт TRAFFIC SIMULATOR, как внешнее средство SQL сервера, который позволяет:

1. Записывать трафик продуктивной системы, при этом практически ее не нагружая.

2. Воспроизводить записанный трафик, практически идентично, как в однопользовательском режиме, так и с учетом много поточности и конкуренции, на другой версии MSSQL сервера, другом оборудовании, при других настройках.

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

4. Автоматизировано сравнивать данные в БД на оригинале и в копии.

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

Требование Самописная модель

SoftPoint Traffic Simulator

Комментарий

Разработка модели, сценариев, скриптов и пр.

Требуется Не требуется Разработка по стоимости сопоставима с ценой готовой программы STS

Применение с любой произвольной MS SQL системой

Невозможно Возможно в рамках штатной функциональности STS

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

Возможность полнофункционального нагрузочного тестирования

Невозможно Возможно в рамках штатной функциональности STS

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

Возможность использования при изменении функциональности ИС

Возможно с ограничениями

Возможно в рамках штатной функциональности STS

При изменении функциональности ИС всегда требуется доработка самописной нагрузочной модели

TRAFFIC SIMULATOR - Запись трафика:

SOFTPOINT TRAFFIC RECORDER: отвечает за запись трафика, проходящего через сервер СУБД. Инсталлируется в виде сервиса на сервер СУБД.

Запись трафика (консоль управления):

При включенной записи трафика:Подготовка к записи трафика:

Состав мониторинга:

SOFTPOINT MONITORING SERVICE: отвечает за сбор и анализ параметров производительности с рабочей и тестовой среды. Устанавливается в виде сервисов на рабочем и тестовом стенде.В том числе собирает MSSQL трассы на тестовом стенде.

Анализ трафика:

TRAFFIC COMPILER: отвечает за анализ и переработку собранных данных. Устанавливается на тестовом сервере на котором будут проводится функциональные и нагрузочные тесты. В функциональность данного сервиса входит:• замена текста запросов;• определение динамических параметров вызовов;• автоматическое определение «плавающих», гетерогенных параметров;• настройка правил исключений и замен для «плавающих» параметров;• настройка правил для подключения сессий на тестовом стенде (в связи с

протоколами безопасности нет возможности по трассе установить соединение с СУБД аналогичное оригиналу).

Анализ трафика (скриншот окна управления):

Указывается входной файл (полученный при записи) и выходная папка. Для каждой сессии будет создан отдельный файл с откомпилированным трафиком.

Воспроизведение трафика:

SOFTPOINT TRAFFIC PLAYER: отвечает за воспроизведение и координацию записанного и обработанных трасс. Отвечает за меж потоковое взаимодействие.

Воспроизведение трафика (скриншот окна управления):

Старт проигрывания:

Блок отчётов:

SOFTPOINT REPORTING SERVICE: отвечает за анализ оригинальных трасс с собранными на тестовом стенде. Выдает разницу в результатах рекордсетов, ошибок выполнения, разницу в данных. Выдает разницу в планах выполнения, времени выполнения, времени ЦПУ, объему логических чтений.

Блок отчётов (пример формы 2):Если при проигрывании записанного трафика рассматривать допустим смену версии СУБД с MS SQL 2008 на MS SQL 2014, то в результате проигрывания трафика на новой версии СУБД можно определить какие запросы и насколько будут выполняться быстрее.

TimeLess – показывает, что время выполнения запроса сниженоВремя, на которое запрос выполняется быстрее

Ускорение выполнения запроса в процентном соотношении

Блок отчётов (пример формы 2):

Если при проигрывании записанного трафика рассматривать допустим смену аппаратной платформы, или реконфигурацию настроек СУБД, то в результате проигрывания трафика на новой конфигурации можно определить какие запросы и насколько будут выполняться медленнее.

TimeLarge – показывает, что время выполнения запроса возрослоВремя, на которое запрос выполняется медленнее

Замедление выполнения запроса в процентном соотношении

Блок отчётов (пример формы 3):

В результате проигрывания трафика на новой конфигурации оборудования или новой версии СУБД можно определить какие запросы будут выполнены некорректно или выполнение которых возникнет ошибка.

Binary - различия в возвращаемых результатах выполнения запроса

Error – ошибка выполнения запроса

Средства мониторинга:

При проигрывании:При записи:

Цветом выделено место (время) резкого падения PLE.

При проигрывании воспроизводится резкое падение PLE, увеличение объема потребляемой памяти.

Сравнение производительности MS SQL 2012 и MS SQL 2014:Посредством Softpoint Traffic Simulator была проведена запись траффика запросов с информационной системы «1С:Предприятие» в течение 40 минут.

Параметры при записи:Количество запросов: 602147 запросовСуммарная длительность выполнения запросов на MS SQL: 1279,2 секундыВерсия СУБД для записи: MS SQL Server 2012 Enterprise

На аналогичном оборудовании установлен MS SQL Server 2014 CTP2 с идентичными с MS SQL Server 2012 настройками.

Далее был осуществлено воспроизведение трафика запросов на MS SQL Server 2014, при этом сохранялась информация о длительностях выполнения запросов.

Полученный результат при воспроизведении:Количество воспроизведенных и корректно выполненных запросов: 602147

запросовСуммарная длительность выполнения запросов на MS SQL: 1121,347 секунды

Таким образом, линейное ускорение запросов при переходе с MS SQL Server 2012 на MS SQL Server 2014 составило более 12%. Для исключения таких факторов, как «прогрев» кеша и прочие прогон записанного трафика выполнялся 3 раза для каждой версии MS SQL Server, результаты были идентичными к приведенным выше .

Контакты

Россия, Москва, 1071403-й Красносельский пер., 21 стр.1,

+7(495) [email protected]

www.softpoint.ru