logo search
SQL2008_Administration

8.3.3. Нагрузочное тестирование

Для проведения нагрузочного тестирования используются утилиты специально предназначеные для того, чтобы имитировать работу большой группы пользователей - средства нагрузочного тестирования (stress testing utility). Главный набор таких утилит называется Microsoft SQL Server Support Escalation Services Support Utilities. Другое название этого набора — RML (Replay Markup Language). Это название используется чаще, поскольку утилиты скачиваются с сайта Microsoft в виде файла rml.exe и устанавливаются в каталог rml.

Данный набор включает три утилиты:

  1. Ostress — консольная утилита с большим количеством параметров командной строки (утилита чувствительна к регистру параметров). Например, если мы хотим запустить на выполнение на локальном сервере файл с командами SQL C:\MyApp.sql одновременно от имени 50 пользователей, соответствующая команда может выглядеть так:

"c:\Program Files\rml\ostress -E –d Northwind –i "C:\MyApp.sql" –n 50

  1. нагрузочный (stress mode, этот режим используется по умолчанию) - предназначен для оценки производительности сервера под определенной нагрузкой. В нем в произвольной последовательности выполняются команды с использованием указанного вами количества потоков (подключений пользователей)

  2. режим повторного выполнения (replay mode) - предназначен для точного повторного выполнения тех команд, которые были запротоколированы средствами профилировщика.

  1. Read80Trace.exe утилита, предназначенная для конвертации файлов, созданных профилировщиком в формат *.RML, пригодный для передачи файлов утилите Ostress.

  2. ORCA (Ostress Replay Control Agent) — специальный программный компонент, используемый утилитой Ostress для взаимодействия со службой Distributed Transaction Coordinator (DTC) и отслеживания идентификаторов процессов (SPID) на SQL Server.

Дополнительные средства нагрузочного тестирования:

  1. SQLIOStress — утилита, предназначенная специально для нагрузочного тестирования дисковой подсистемы.

  2. SQL Hammer — программное средство, которое можно использовать для целей нагрузочного тестирования. Его можно найти на компакт-диске Resource Kit для SQL Server 2000. Фактически это шаблон приложения на языке Visual Basic, который можно изменить для своих целей.

  3. DBStressUtil — программа, которая использует средства работы с потоками .NET. Ее можно загрузить из Интернета вместе с исходным кодом. Интерфейс этой программы представлен на рис. 8.5.

Рис. 8.5. Интерфейс DBStressUtility

Если сохранять результаты трассировки из окна SQL Server Profiler в файл скрипта *.sql, то профилировщик автоматически добавляет между каждой командой в скрипте ключевое слово GO. DBStressUtility, встретив такое слово, прекращает чтение файла команд и выполняет только те команды, которые были в файле до первого появления GO. Точно также DBStressUtility относится и к пустым строкам. Поэтому перед передачей этой утилите файла команд необходимо очистить его от команд GO и пустых строк.