З 1992 року сервери істотно змінилися, і стандартний тест, який широко використовується для вимірювання їх продуктивності, безнадійно застарів.

Вирішенням цієї проблеми зайнятий консорціум Transaction Processing Performance Council, який готує модернізований варіант тесту TPC-C. Робоча назва нового тесту TPC-E, і його випуску очікують в 2006 році. Він буде краще імітувати роботу сучасного сервера бази даних, дешевше в експлуатації і менш схильний до штучного завищення оцінок шляхом використання спеціального обладнання і витончених конфігурацій.

Результати порівняльних випробувань корисні не тільки виробникам для піднесення престижу або інженерам, оцінює нові конструкції. Вони широко застосовуються замовниками, вибирають нове обладнання, в якості корисного, нехай і не ідеального способу порівняння різноманітних комбінацій апаратури і ПЗ.

У багатьох випадках існуючий тест на продуктивність з усіма його вадами і недоліками відіграє вирішальну роль. «Найбільш часто цитованим результатом RFP (оголошеннях про прийом пропозицій, за якими замовники вибирають постачальників) є TPC-C», говорить Джеррольд Баггерт, що представляє в консорціумі компанії Unisys. Одна з причин привабливості цього тесту порівняно з такими альтернативами, як тест SAP SD, полягає в тому, що він вимірює не тільки продуктивність, але і співвідношення ціна/продуктивність.

Про важливість TPC-C можна судити по сумі, яку Hewlett-Packard витратила на з’ясування того, чому в 2001 році показники її потужного сервера Superdome виявилися нижче очікуваних. У судовому процесі за обвинуваченням співробітника компанії диверсії фігурувала цифра $1 млн.

Консорціум працює не тільки над вдосконаленням TPC-C. У понеділок він випустив новий тест для машин проміжного рівня серверів додатків.

TPC-App і TPC-DS

Тест TPC-App вимірює, як швидко ці машини вирішують типові для них завдання, такі як встановлення зв’язку з сервером бази даних, обслуговування веб-сайтів і інші додатки. Заходом є кількість взаємодій з веб-сервісами в секунду (Web-services interactions per second), що дозволяє порівнювати дві основні конкуруючі технології, застосовувані в серверах додатків Microsoft .Net і Sun Microsystems Java, а також кілька подібних.

TPC-App замінює тест TCP-W, який доріг, часто вимагає для своєї роботи 25 серверів і в той же час перевіряє продуктивність не стільки сервера додатків, скільки тих серверів, які здійснюють проміжне зберігання даних, і інших допоміжних машин. Процес має настільки широкий охоплення, що «важко сказати, що саме ви вимірюєте», говорить Баггерт. У створенні TPC-App брали участь компанії IBM, Microsoft, HP, BEA Systems, Oracle, Dell, Unisys, Advanced Micro Devices і Intel.

На підході ще один тест, альтернативний тесту TPC-H, запропонованому в 1999 році для порівняння сховищ даних серверів, що обробляють велику кількість даних з метою отримання такої інформації, як купівельні тенденції.

Нова альтернатива, яка поки що називається TPC-DS, відображає більш сучасний підхід до використання сховищ даних. Наприклад, ці машини можуть обробляти складні запити, аналізуючи, як різні маркетингові кампанії впливають на продажу в різних регіонах. Новий тест буде підтримувати 135 різних типів запитів, замість 25 у TPC-H, що ускладнить створення систем, спеціально оптимізованих для виконання тесту з метою штучного завищення показників.

TPC-C тоді і тепер

TPC-C пережив бурхливі роки в історії серверів. У 1992 році домінуюче положення на ринку серверів займали мейнфрейми, а Unix-сервери грали роль наздоганяючих. З тих пір цей ринок помітно змінився в результаті поширення недорогих машин з процесорами Intel, зникнення Digital Equipment і Compaq Computer, приходу Microsoft Windows і Linux і появи монстрів про 128 процесорах.

Перші значення TPC-C у порівнянні з сьогоднішніми були низькими. Тільки в 1998 році сервери наблизилися до результату у 100 тис. транзакцій в хвилину. У 2001 році на вершину піднялася система Fujitsu з результатом 456 тис. транзакцій в хвилину і приблизно в той же час Sun перестала брати участь у тестах, заявивши, що вони більше не відповідають реальності. Однак в 2004 році в лідери вийшла IBM, продемонструвавши результат 3,2 млн транзакцій в хвилину.

Співвідношення ціна/продуктивність теж істотно змінилося з-за зниження вартості серверів. Для систем, випущених до 1996 року, вона перевищувала $200 на одиницю продуктивності і в одному випадку навіть сягала $1200. IBM опублікувала свої перші результати по TPC-C у травні 1994 року: 485 транзакцій в хвилину і $654 на одиницю продуктивності. Сьогодні для IBM p5-575 співвідношення ціна/продуктивність становить $5,19.

По суті, TPC-C імітує базу даних, керуючу складом, яка обробляє такі прості операції, як обробка замовлень, каже Баггерт. TPC-E імітує електронного брокера і виконує набагато більш складні операції.

Одна з таких операцій, «двоетапна фіксація» (two-phase commit), не може бути завершена до тих пір, поки не закінчиться відповідна операція іншої бази даних. Інша, «перевірка цілісності посилальних даних» (referential integrity), гарантує, що база даних не зіб’ється, якщо елемент змінений або видалений одним процесом, поки інший використовує цей же елемент.

Недоліки TPC-C

Одна з проблем TPC-C полягає в тій легкості, з якою деякі сервери можуть видавати неймовірно високі результати, завдяки спеціальним конфігурацій апаратури і марним в реальному житті. Наприклад, високі оцінки за TPC-C досягаються серверами з величезним числом жорстких дисків 6548 у разі рекорду IBM.

Інша проблема пов’язана з тим, що завдання тесту TPC-C легко розподілити між відносно незалежними серверами, об’єднаних у кластер. Це створює враження, що кілька недорогих машин працюють так само добре, як один багатопроцесорний гігант, і це змусило консорціум наводити окремі результати для кластерних і некластерных систем.

Насправді вирішуються сьогодні базами даних завдання не так легко розподіляються, і цей факт відображено в TPC-E. «Потрібно мати більш реалістичне уявлення про те, чого можна добитися від кластера в реальному житті», говорить Баггерт.

Порівняння дійсних характеристик кластерних і некластерных систем корисно для замовників, оцінюють кластерні бази даних, які стають все більш потужними з поступовим вдосконаленням такої технології, як Oracle Real Application Clusters і високошвидкісна апаратура передачі даних InfiniBand.

У створенні TPC-E беруть участь найбільші продавці баз даних, процесорів і серверів включаючи Sun.