Основы AS/400 - Страница 117
Программы тестирования производительности
Сегодня существует великое множество разнообразных программ тестирования производительности, так что выбор той, которая больше Вам подходит — дело нелегкое. Среди производителей компьютеров наиболее широко распространены тесты, созданные независимыми разработчиками, — 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 дает грубое приближение к показателю производительности ТРС-С, хотя значения, полученные в результате реального тестирования ТРС-С, обычно дают более высокий результат.
Как мы сравниваем?
Новые значения показателей производительности CPW и ТРС-С для моделей серии AS/400е публикуются с каждым новым выпуском. Мы рассмотрим их на примере версии V4R1 (август 1997 года) для 12-канальных систем. (Дело в том, что к моменту написания этой книги показатели серии AS/400е еще не были сертифицированы, и потому их нельзя рассматривать как окончательные). В таблице 12.1 даны значения производительности пяти лучших систем на момент выхода V4R1, а также моя оценка места в этом списке 12-канальной AS/400. Разумеется, и конкретные цифры, и положение систем в списке все время меняются по мере выпуска новых моделей и проведения повторных тестовых измерений.
Место | Система (конфигурация) | tpm |
1 | Sun Ultra Enterprise 6000 (24-канальная) | 31.147 |
2 | Digital AlphaServer 8400 5/350 | 30.390 |
(4 узла x 12-каналов) | ||
3 | SGI Origin 2000 Server (28-канальная) | 25.309 |
4 | IBM AS/400 9406 S40 (12-канальная) | [ 90 ] |
5 | Sun Ultra Enterprise 6000 (16-канальная) | 23.143 |
Таблица 12.1 Показатели производительности TPC-C август 1997 года
Вы можете получить текущие показатели производительности ТРС-С из ряда источников, включая узел WWW Transaction Processing Performance Council (http: //www.tpc.org). Лично я предпочитаю узел WWW IDEAS International (http:// www.ideasinternational.com) — компании из Сиднея (Sydney), Австралия, которая специализируется на распространении сравнительной информации о вычислительных системах по Интернету. Эта организация — член совета ТРС и принимает участие в разработке тестов. На странице WWW IDEAS International опубликованы сравнительные результаты тестов для многих систем. Я предпочитаю их Top 20 для ТРС-С.
Информация таблицы 12.1 интересна с нескольких точек зрения. Во-первых, значения для 12-канальной AS/400 во много раз выше, чем предыдущие опубликованные значения ТРС-С для любой AS/400. Теперь эта одиночная система сравнялась с самыми крупными одиночными системами IBM, считая мэйнфреймы, и уступает лишь кластерам. Во-вторых, эти показатели демонстрируют эффективность и перспективность AS/400. Для наглядности давайте рассмотрим системы, превосходящие AS/400 по показателю ТРС-С.