Программы тестирования производительности

Программы тестирования производительности

Сегодня существует великое множество разнообразных программ тестирования производительности, так что выбор той, которая больше Вам подходит — дело нелегкое. Среди производителей компьютеров наиболее широко распространены тесты, созданные независимыми разработчиками, — SPEC (Standard Performance Evaluation Corporation) и TPC (Transaction Processing Performance Council).

SPEC образована в 1988 группой фирм — производителей компьютеров для разработки набора тестов для рабочих станций и серверов Unix. Набор тестов SPEC представляет собой группу программ, написанных на С и Fortran. По одним из них, ориентированным на обработку целых чисел, вычисляется показатель SPECint, по другим, ориентированным на операции с плавающей запятой, — показатель SPECfp. Для определения производительности тестовые программы запускают по очереди, замеряя время их выполнения. Итоговым значением считается среднее геометрическое (перемножение n чисел с последующим извлечением корня n-ой степени) промежуточных результатов.

Первым набором тестов этой серии был SPEC89 (89 — год создания) из 10 программ (4 целочисленных и 6 с плавающей запятой). В SPEC92 число программ возросло до 20, а в последнюю версию SPEC95 были добавлены еще несколько дополнительных программ. Сейчас ведется работа над SPEC98.

Так как тестовые программы очень малы и выполняются по одной, то обычно программа целиком умещается во внутреннюю кэш-память процессора. В SPEC95 было добавлено несколько программ большего размера, но и кэши так же растут. В результате, SPEC может измерить «грубую силу» процессора, но не производительность системы в целом, так как эти тесты не охватывают память и подсистему ввода-вывода. В результате, SPEC применяется, в основном, для измерения производительности однопользовательской рабочей станции Unix. И, как можно было предсказать заранее, процессоры с большими значениями МГц, такие как Digital Alpha, показывают на этих тестах очень хорошие результаты.

Тесты ТРС предназначены для измерения общей производительность системы, а не только процессора. В соответствии с программным заявлением, ТРС — это бесприбыльная организация, чья цель — организация тестирования обработки транзакций и баз данных, а также распространение объективных и проверяемых результатов этих тестов. В ТРС сейчас 45 членов, в их числе все основные производители компьютеров.

ТРС определяет свои тесты в терминах деловых транзакций. Например, обычная транзакция ТРС включает обновление базы данных для таких приложений, как управление инвентарным списком (товары), заказом авиабилетов (обслуживание) или банковскими операциями (деньги). На сегодня основные тесты этой группы — ТРС-С и ТРС-D.

ТРС-С представляет собой тест OLTP. В процессе его пять транзакций разного типа и сложности выполняются либо параллельно, либо помещаются в очередь для отложенного исполнения. База данных содержит девять типов записей, которые сильно различаются размерами. ТРС-С измеряется в транзакциях в минуту (tpm).

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

Тест ТРС-D — новейший тест, определяющий эффективность широкого диапазона приложений поддержки принятия решений, где требуются сложные, долго выполняющиеся запросы к большим и сложным структурам данных. Кстати, по этой модели были написаны программы, содержащие 17 сложных запросов и примененные затем в реальном бизнесе.

Для большинства современных приложений тест ТРС-С — вероятно, наилучшее средство оценки производительности. По мере дальнейшего распространения приложений поддержки принятия решений, значение теста TPC-D будет расти.

В Рочестере для измерения производительности используется тест ТРС-С. Он довольно сложен и требует существенной предварительной подготовки. ТРС также добивается, чтобы все результаты ее тестов были выверены, и гарантирует это с помощью сложных и многократно дублированных измерений. С одной стороны это необходимо, чтобы обеспечить воспроизводимость результатов, но с другой — мы не можем позволить себе подобный объем тестирования для всех возможных конфигураций AS/400. Поэтому мы измеряем показатели ТРС-С лишь некоторых систем из нашей линейки серверов и отправляем результаты в ТРС для проверки. Именно эти показатели ТРС затем и публикует в виде сравнительного анализа производительности различных систем.

Мы хотим предоставить нашим заказчикам правдивую и точную информацию о каждой из наших систем, и поэтому в основе всех измерений, независимо от конфигурации и режимов, лежит некоторая разновидность ТРС-С. Несколько лет назад мы выбрали одну из версий ТРС-С в качестве постоянного теста для всех наших систем. Мы не можем публиковать эти цифры как окончательные показатели ТРС-С, так как сам ТРС-С продолжает развиваться. Взамен мы публикуем информацию, собранную на основе другой системы измерения производительности — CPW (Commercial Processing Workload). Как правило, умножение показателя производительности CPW на 10 дает грубое приближение к показателю производительности ТРС-С, хотя значения, полученные в результате реального тестирования ТРС-С, обычно дают более высокий результат.