Ce este TPC-B?
TPC-B a fost creat de Transaction Processing Council (tpc.org), o organizatie creata in 1998 pentru a standardiza si compara testele de performanta a bazelor de date. TPC este standardul de facto pentru masurarea performantelor unui sistem care ruleaza o baza de date.
TPC-B e o metodologie de test de stress a unei baze de date care compara performantele (hardware si software) atunci cand acestea sunt folosite in regim de back-end pentru alte aplicatii.
Un exemplu tipic este un server de web (front-end) care serveste pagini pe baza informatiilor continute intr-o baza de date (back-end).
Testul TPC-B este diferit de alte variante (TPC-A, TPC-C etc) si a fost in mod particular ales de Limehost pentru ca se potriveste cel mai bine in a masura o baza de date la care se conecteaza un server web – scenariul cel mai plauzibil pentru utilizatorii Limehost.
TPC-B este caracterizat prin:
Utilizare
mare hard-disckului
Consum mediu de resurse (procesor, memorie)
Pastrarea integritatii tranzactiilor SQL
Mai multe informatii despre TPC-B se pot citi la http://www.tpc.org/tpcb/default.asp
La ce ma ajuta TPC-B?
Daca doresti sa rulezi o aplicatie de baze de date, activeaza serverul care are o performanta TPC-B ridicata. Acesta a fost configurat hardware pentru a atinge maximul de tranzactii SQL.
Pentru performante si securitate superioara, sugeram sa separati tipurile de aplicatii pe servere diferite (ex: serverul de baze de date de webserver)
Cum a fost realizat testul TPC-B?
Testele TPC sunt o combinatie intre hardware si software-ul de baze de date folosit.
Limehost ofera hardware si singurul scop al testelor a fost sa-l compare pe acesta pentru a vedea care este cea mai buna alegere pentru clientul care opereaza o baza de date. Pentru a obtine acest deziderat, software-ul folosit a fost identic pe toate masinile testate.
Configuratia de test a fiecarei masini este:
- Sistem de operare (Fedora 11)
- Baza de date (Postgres 8.4.1) configurat automat de programul de instalare
- Configuratia hardware este cea listata in oferta
- Pentru generarea tranzactiilor SQL a fost folosit pgbench
Testul a constat in executia simultana pe 100 de conexiuni la Postgresql si continua timp de 5 minute a urmatoarei tranzactii:
BEGIN;
UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
END;
Scorul prezentat ca Scor TPC-B de Limehost reprezinta numarul mediu de tranzactii executate intr-o secunda folosind Postgresql 8.4.1 sub Fedora 11
In functie de sistemul de operare si software-ul de baze de date, performanta poate varia semnificativ, dar acest test poate fi o comparatie potrivita pentru a analiza din punct de vedere al performantei bazelor de date un server cu altul.
Intrebari si Raspunsuri
1. Pot repeta testul de mai sus pe serverul activat?
Da. Ai nevoie de Postgresql si programul pgbench (http://developer.postgresql.org/pgdocs/postgres/pgbench.html).
Acesta a fost rulat de catre Limehost executand comanda pgbench -U postgres test_database -c 100 -T 300
Daca ai nevoie de asistenta contacteaza-ne la numerele si emailul de suport.
2. Fiind servere virtuale nu inseamna ca performanta se va degrada daca vor fi mai multi utilizatori pe aceeasi masina?
Nu. Serverele Virtuale Dedicate oferite de Limehost au fost special proiectate ca resursele utilizate masiv (in mod special hard
diskul) sa fie izolate de consumul altor utilizatori. Performanta masurata de Limehost este garantata cel putin in 95% din timp.
3. De ce nu ati folosit TPC-C sau alte versiuni mai avansate pentru masurarea performantelor?
TPC creeaza scenarii complexe pentru a testa o baza de date tinand seama de multe alte caracteristici ale acestora care
sunt nerelevante in cazul cel mai utilizat webserver <> DB
4. De ce servere cu resurse aparent mai puternice au avut rezultate mai slabe decat cele cu mai putine?
Nu stim cu exactitate, dar acesta a fost si scopul acestui test. De a identifica serverele care au cel mai bun rezultat pentru tranzactii SQL. Presupunem ca tehnologia de virtualizare, utilizarea multiplelor core-uri de catre Postgresql si chiar sistemul de operare ar putea face ca in acest caz o configuratie de 8 core-uri sa fie mai lenta decat una cu 4.

