Появились подобные системы - возникли и тесты оценки производительности для них, предлагавшие различные методики измерения. В результате появились некоторые количественные характеристики производительности систем баз данных и обработки транзакций.

По мере появления новых тестов, стали определяться требования к этим тестам, с тем, чтобы результаты тестов могли быть полезными для практиков. Сегодня наиболее важными требованиями к тестам принято считать:

1. Уместность: тест должен измерять пиковую производительность системы и соотношение цена/производительность в процессе выполнения типичных для конкрентной области операций.

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

3. Масштабируемость: тест должен быть применим к малым и большим системам. Должна существовать возможность масштабирования теста вплоть до самых высокопроизводительных систем, причем правила масштабирования должны быть четко определены в методике тестирования.

4. Простота: тест должен быть понимаем. В противном случае он утратит доверие пользователей.

К настоящему моменту создано довольно много методик тестирования.

Наверное, наиболее популярным набором тестов является семейство тестов TPC (Transaction Processing performance Council). В дополнение к хорошо известным тестам TPC-A, TPC-B и TPC-C (кстати, в июне 1995 года тесты TPC-A и TPC-B "сняты с производства"), в настоящий момент создаются следующие тесты:

TPC-D. Объявленный 4 апреля 1995 года, тест предназначен для измерения производительности систем поддержки принятия решений. Системы поддержки принятия решений - быстро развивающийся класс приложений, характеризующийся небольшим количеством пользователей, выполняющих сложные запросы к большим объемам данных. Сильное отличие от систем оперативной обработки транзакций (OLTP) не позволяет использовать в данном случае методики тестирования, предназначенные для OLTP.

TPC-E. Предназначен для измерения производительности систем OLTP. В некотором смысле является развитием теста TPC-C. В процессе создания теста особое внимание уделялось следующим характеристикам тестируемых систем:

  • поддержка большого количества пользователей, одновременно работающих с системой в оперативном режиме; при этом на время отклика системы накладываются весьма строгие ограничения;
  • поддержка параллельного выполнения фоновых заданий, не ослабляя при этом требования на время отклика для пользователей, работающих в оперативном режиме;
  • поддержка больших и сложных баз данных, доступ к которым осуществляется как частыми небольшими транзакциями, так и операциями, требующими большого числа операций ввода-вывода;
  • восстановление системы после отказов.

TPC-CS. Основное предназначение теста - измерение производительности систем OLTP, построенных в архитектуре клиент-сервер.

TPC-S. Решение о начале разработки это теста было принято 15 декабря 1995 года. Тест предназначен для измерения производительности серверов баз данных. В отличие от остальных тестов TPC, измеряющих производительность всей системы, этот тест фокусируется только на производительности серверной части.

Скажем несколько слов и о других подходах.

Тест "Висконсин" (Wisconsin benchmark) разработан в университете штата Висконсин в 1983 году. Применяется для измерения производительности при выполнении реляционных запросов к системам баз данных.

Тест AS3AP (an ANSI SQL Standard Scaleable And Portable benchmark for relational database systems) применяется для измерения производительности в смешанной среде обработки транзакций, реляционных запросов и выполнения служебных функций.

Тест "Set Query" также предназначен для измерения производительности системы при выполнении реляционных запросов. При этом, обрабатываемые запросы являются гораздо более сложными, чем у двух предыдущих тестов, и встречаются, в основном, в системах поддержки принятия решений.

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


Андрей Волков - главный редактор журнала "Системы Управления Базами Данных. С ним можно связаться по электронной почте: volkov@osp.ru.