Тестировать, тестировать - и раз, и два, и три ...
Первый взгляд
Пакет Dynameasure для анализа мощности систем клиент-сервер “нагружает” тестируемые системы
Планирование мощности систем клиент-сервер и проведение испытаний - при одной мысли об этом у многих администраторов ИТ по спине пробегает холодок. Начинающая фирма Bluecurve попыталась рассеять этот страх своим новым пакетом тестирования Dynameasure 1.0.
Тестовый центр PC Week Labs обнаружил, что Dynameasure, выпущенный в конце июля, резко сокращает время и усилия, необходимые для тестирования корпоративных сетей с помощью готовой покупной программы.
Хотя работать с пакетом легко, у него есть ограничения. Текущая версия настроена на взаимодействие с SQL Server 6.x корпорации Microsoft и работает только через ODBC (интерфейс открытого взаимодействия с базами данных). Кроме того, из-за высокой стоимости ($29,995) Dynameasure практически недоступен для небольших компаний.
Dynameasure состоит из трех компонентов: наборов данных, которые загружаются в SQL Server, клиентской части, исполняющей предписанные ей задания, и инструмента управления, с помощью которого пользователь задает и запускает тесты, а затем анализирует результаты.
С помощью Диспетчера Dynameasure нам было легко установить
и запустить тестовые задания и наблюдать за их выполнением
Dynameasure - достаточно легкое средство для тестирования всей сети на максимальных нагрузках, выделения “узких мест”, изменений в конфигурации и затем выполнения еще одного теста; все это можно сделать за один день.
Более всего архитектура Dynameasure пригодна для компаний, которые хотят протестировать свои новые установки до их передачи в производство. Организации, не использующие SQL Server, также могут применить Dynameasure, но так как при этом будут задействованы механизмы других СУБД, то результаты придется интерполировать - они останутся значимыми, но не будут точно соответствовать имеющейся конфигурации.
Смотр конкурентов
У Dynameasure немного конкурентов. В большинстве компаний, особенно в небольших организациях, смотрят на планирование мощности сквозь пальцы до тех пор, пока не возникнут проблемы с производительностью. Но тогда уже слишком поздно.
Другие компании пользуются отдельными тестами, такими, как свободно распространяемые NetBench, ServerBench и Winstone, разработанные Ziff-Davis Benchmark Operation для собственного применения. Эти тесты измеряют только некоторые части сети, и хотя анализ и сопоставление результатов каждого теста позволяют воспроизвести картину функционирования сети в целом, ни один из тестов не выполняет критически важной задачи измерения уровня нагрузки на базу данных.
Для пополнения своего измерительного арсенала компании могут приобрести средства для измерения уровня нагрузки БД, такие, как LoadTest корпорации SQA или LoadRunner корпорации Mercury Interactive. Но это приобретение заставит их иметь дело по меньшей мере с четырьмя разнородными утилитами, превратив анализ результатов в сущий кошмар.
Dynameasure во многом аналогичен RightSize компании Ziff-Davis, внутрифирменному эталонному тесту этой компании, который измеряет производительность СУБД и сервера приложений. Фактически Dynameasure был создан главным архитектором пакета RightSize.
Возможно, главный соперник Dynameasure - это TPM 96 компании The Database, но этот инструмент появился у нас слишком поздно, чтобы мы успели его испытать. По сложившемуся у нас первому впечатлению, TPM 96 поддерживает больше СУБД и платформ, чем Dynameasure, а работает он как с “родными” драйверами СУБД, так и с ODBC. Кроме того, TPM 96 включает в себя модуль, который показывает “узкие места” и позволяет администраторам в реальном времени настроить СУБД. Мы намерены в ближайшее время рассмотреть TPM 96.
Простая установка
Для проведения испытаний Dynameasure мы инсталлировали SQL Server 6.5 на систему Proliant 4500 корпорации Compaq Computer со 166 МГц процессором, 64 Мб ОЗУ и 8 Гб дисковым массивом. Мы также установили пять клиентов Windows 95 на базе 486 процессоров и один клиент Windows 95 на базе Pentium, каждый с 16 Мб ОЗУ, и назначили один из них как станцию Менеджера пакета Dynameasure, а оставшиеся в качестве тестовых клиентов.
Перед инсталляцией понадобилось создать две базы данных: управляющую - для хранения команд и результатов испытаний и тестовую - для размещения всех тестовых данных. Для экономии времени Dynameasure дает администраторам возможность создавать и использовать шаблоны с именами баз данных, идентификаторами пользователей и их паролями. Так как для нас это была первая установка, то мы этим не воспользовались.
Инсталляция Dynameasure совершенно не требует усилий; нам нужно было только щелкнуть по соответствующей пиктограмме, чтобы установить либо полный пакет, либо Менеджер, либо тестируемый клиент. Менеджер Dynameasure включает Конструктор для построения тестовых сценариев, Диспетчер - для их запуска и Анализатор - для просмотра результатов испытаний. Все три инструмента прекрасно вписываются в кнопочную линейку панели запуска.
Клиентская часть Dynameasure содержит такие компоненты, как Оператор, который координирует соединение между тестируемым клиентом и Диспетчером, и Мотор, который имитирует нагрузку от одного клиента. До 20 Моторов может выполняться на одной клиентской рабочей станции, если хватает памяти (чуть менее 1 Мб памяти на каждый Мотор, либо физической, либо виртуальной) и имеются лицензии на запуск клиентов. Мы запускали до 15 Моторов на каждом из наших пяти клиентов, имитируя 40 пользователей, постоянно “бомбардирующих” СУБД.
Как “напрячь” СУБД
Dynameasure поставляется с полным комплектом наборов данных, имеющих размеры в интервале примерно от 8 Мб до 1 Гб. В программу включены также 18 заранее подготовленных тестовых заданий, из них пять на “чтение”, семь на “запись” и шесть смешанных тестов в режиме “чтения/записи”. Используя эти сценарии, администраторы могут поместить свои сети в условия достаточно тяжелой нагрузки, чтобы выявить потенциальные “узкие места” и нарушения работоспособности.
Мы использовали набор данных размером в 250 Мб для всех тестов, в числе которых были тесты “только чтение”, “только запись” и смешанные тесты “чтение/запись”. Dynameasure достаточно гибок для того, чтобы можно было смешивать тесты и комбинировать их в любом порядке. Например, мы запускали смешанный тест “чтение/запись” для BLOB (большие двоичные объекты) вместе с простым тестом на чтение позиций заказов.
По умолчанию в Dynameasure используется тест из шести шагов, автоматически масштабируемый в зависимости от числа Моторов. Каждый шаг занимает примерно 990 секунд (15 минут плюс 1,5-минутный период “остывания”). Тем не менее мы имели полный контроль за тем, сколько времени мы хотим выполнять наши тесты и сколько Моторов запускать на каждом шаге.
Мы также могли полностью управлять весовыми коэффициентами, которые Dynameasure назначает компонентам теста. Например, в нашем тесте на “чтение/запись” мы уменьшили количество команд удаления и увеличили количество команд вставки записей. (Администраторы должны оценить такое управление, потому что оно позволяет наиболее приближенно имитировать их рабочую среду.) Пакет Dynameasure автоматически подстроил временные рамки теста так, чтобы они соответствовали нашим изменениям.
Как только тесты завершились (для нашей конфигурации это заняло примерно один час и сорок пять минут), мы запустили модуль Анализатор, чтобы посмотреть статистику производительности. Анализатор сообщает такие технические характеристики, как число транзакций в секунду и среднее время ответа. Мы могли посмотреть также журнал ошибок, чтобы убедиться, что все клиентские Моторы работали, как было запланировано.
Мы взяли наш первый тест в качестве опорного для проведения сравнений, а затем поменяли конфигурацию, чтобы посмотреть, можно ли улучшить производительность. Сначала мы выполнили тот же самый комплект тестов с другим концентратором ЛВС, но это дало лишь незначительный выигрыш. Затем мы уменьшили память для двух из наших клиентов, но в этом случае Dynameasure не смог породить столько же Моторов, сколько в нашем опорном тесте.
Наибольшего выигрыша производительности мы достигли, когда увеличили доступную память для СУБД SQL Server. Хотя мы могли бы и догадаться, что именно это должно улучшить производительность, мы не были в этом уверены до выполнения Dynameasure.
Самый большой недостаток Dynameasure - это ограниченная номенклатура поддерживаемых им СУБД. Для того чтобы работать с Dynameasure, компаниям будет нужен хоть какой-нибудь опыт работы с SQL-Server. Официальные представители Bluecurve заявили, что в будущих выпусках они добавят поддержку других СУБД. Вероятно, некоторые покупатели также сочтут, что стоимость Dynameasure слишком высока, и представителям Bluecurve придется оправдываться, почему их пакет стоит больше, чем Microsoft SQL Server плюс лицензия на 150 клиентов.
Джон Ташек
С Джоном Ташеком, главным техническим директором Тестовой лаборатории PC Week Labs на Западном побережье, можно связаться по адресу: john_taschek@zd.com
SCOREBOARD
DYNAMEASURE 1.0
Bluecurve Inc.
Легкость составления задания на выполнение начального теста A
Актуальность включенных в пакет тестовых заданий B
Управление спецификациями тестов B
Возможности планирования B
Возможности наблюдения B
Средства анализа производительности A
Внутренняя архитектура системы B
Поддерживаемые СУБД D
Поддерживаемые платформы D
Возможности настройки СУБД NA
Легкость установки и настройки A
Документация B
NA*- отсутствует
СИЛА И СЛАБОСТЬ
Dynameasure 1.0
Bluecurve
Окленд, шт. Калифорния
(510) 267-1500 http://www.bluecurve.com
+ Самый легкий в использовании инструмент тестирования мощности систем клиент - сервер из проверенных Тестовой лабораторией PC Week Labs. Поставляется вместе с данными, текстами заданий и средствами анализа. Позволяет администраторам систем приспособить компоненты теста для более точного соответствия рабочей среде. Использование виртуальных клиентов позволяет нагрузить тестируемый сервер, не имея большой сети.
- Работает только с Microsoft SQL Server 6.x через ODBC. Стоимость может оказаться чересчур высокой для небольших компаний.
РЕЗЮМЕ
Легкость использования и гибкость администрирования делают Dynameasure 1.0 фирмы Bluecurve великолепным инструментом для полного тестирования сетей с архитектурой клиент-сервер. Однако, пакет Dynameasure, так как он поддерживает только Microsoft SQL Server, менее подходит компаниям, использующим другие СУБД, а стоимость продукта почти в $30 000 отпугнет многие компании, где наиболее вероятно использование SQL Server.
Методика тестирования
Для проведения испытаний Dynameasure 1.0 фирмы Bluecurve Тестовый центр PC Week Labs инсталлировал SQL Server 6.5 корпорации Microsoft на систему Proliant 4500 корпорации Compaq Computer с 166 МГц процессором, 64 Мб ОЗУ и 8 Гб дисковым массивом. Мы также присоединили к серверу небольшую испытательную сеть с разными клиентами. Наша цель состояла в том, чтобы посмотреть, можем ли мы выделить “узкие места” в этой сети и перестроить их с помощью Dynameasure.
Мы использовали набор данных размером в 250 Мб для всех тестов, в числе которых были тесты “только чтение”, “только запись” и смешанный тест “чтение/запись”, который имитировал среду OLTP (оперативная обработка транзакций) по вводу заказов.
Мы взяли наш первый тест в качестве исходного для проведения сравнений и затем изменили конфигурацию, чтобы посмотреть, в состоянии ли мы улучшить производительность.