PRODSuwerenna europejska platforma BaaSOtwórz Panel →

Wydajność · 11 min odczytu

Test porównawczy Aurabase Postgres: pgbench, sysbench, TPC-C

Affane Daylami · Fondateur · 5 marca 2026

Powrót do bloga

Aurabase zapewnia standard PostgreSQL 16, bez zastrzeżonej nakładki — co oznacza, że ​​wszystkie narzędzia testowe Postgres w ekosystemie działają bezpośrednio z bazą danych Aurabase. Oto, jak samodzielnie zmierzyć swoje wyniki za pomocą trzech narzędzi referencyjnych, zamiast polegać na publikowanych przez kogokolwiek danych marketingowych.

Ten tekst w języku angielskim został wygenerowany automatycznie na podstawie francuskiego oryginału i nie był jeszcze recenzowany.
Ta strona została przetłumaczona automatycznie. Wersja angielska jest miarodajna.

Najważniejsze

pgbench (oficjalne narzędzie PostgreSQL, obciążenie zbliżone do TPC-B) i sysbench-tpcc (obciążenie TPC-C bardziej reprezentatywne dla rzeczywistego obciążenia transakcyjnego) działają bezpośrednio względem standardowego ciągu połączenia Postgres 16 Twojego projektu Aurabase — nie ma zastrzeżonego interfejsu API do ominięcia. W tym samouczku pokazano rzeczywiste zamówienia i miejsce, w którym kończy się wartość podatku GST.

#
Dlaczego te dwa narzędzia

pgbench dla uproszczenia, sysbench-tpcc dla realizmu

pgbench jest dystrybuowany z samym PostgreSQL: nie ma osobnej instalacji na kliencie, jeśli masz już narzędzia klienckie Postgres. Domyślne obciążenie odtwarza obciążenie zbliżone do historycznego testu porównawczego TPC-B — proste, szybkie w uruchomieniu, przydatne przy pierwszym sygnale.

sysbench to bardziej ogólne narzędzie do testów porównawczych z wtyczką sysbench-tpcc, która replikuje obciążenie TPC-C — mieszankę transakcji reprezentatywnych dla prawdziwej aplikacji OLTP (zamówienia, płatności, zapasy), bliższą temu, co obsługuje backend Aurabase w środowisku produkcyjnym, niż typowe obciążenie pgbench.

#
Przygotowanie

Pobierz parametry połączenia i utwórz dedykowaną bazę testową

1

Pobierz parametry połączenia z panelu Aurabase

Sekcja bazy danych Twojego projektu, standardowy format postgresql://user:password@host:5432/dbname.

2

Utwórz oddzielną bazę testową, nigdy bazę produkcyjną

psql "$AURABASE_CONN" -c "UTWÓRZ BAzę DANYCH test_bench;"

Nigdy nie porównuj swojej bazy produkcyjnej

pgbench i sysbench-tpcc tworzą, wypełniają i modyfikują tabele. Zawsze korzystaj z dedykowanej bazy, nigdy ze schematu obsługującego rzeczywisty ruch.

#
pgbench

Zainicjuj i uruchom pierwsze uruchomienie

1

Zainicjuj zestaw danych

pgbench -i -s 10 "postgresql://user:pass@host:5432/bench_test" # -s 10 = współczynnik skali (10 × 100 000 wierszy w pgbench_accounts)

2

Uruchom 60-sekundowy bieg, 10 konkurujących klientów

pgbench -c 10 -j 2 -T 60 -P 5 "postgresql://user:pass@host:5432/bench_test" # -c = współbieżni klienci · -j = wątki · -T = czas trwania w sekundach · -P = raport co 5s

3

Przeczytaj wynik

pgbench wyświetla tps (transakcje na sekundę) na koniec przebiegu, z czasem połączenia i bez. Zwróć uwagę na współczynnik skali, liczbę klientów i czas trwania przebiegu — bez tych trzech parametrów sama liczba nic nie znaczy.

#
sysbench-tpcc

Bardziej reprezentatywne obciążenie transakcyjne

1

Zainstaluj sysbench i wtyczkę tpcc

git clone https://github.com/Percona-Lab/sysbench-tpcc.git # postępuj zgodnie z README repozytorium, aby skompilować wtyczkę

2

Przygotuj zbiór danych TPC-C

./tpcc.lua --pgsql-host=host --pgsql-user=użytkownik --pgsql-password=pass \ --pgsql-db=bench_test --warehouses=10 przygotuj

3

Rozpocznij bieg

./tpcc.lua --pgsql-host=host --pgsql-user=użytkownik --pgsql-password=pass \ --pgsql-db=bench_test --warehouses=10 --time=300 --threads=16 --report-interval=10 uruchomień

Przewodnik dostrajania sysbench-tpcc poświęcony PostgreSQL został opublikowany przez firmę Percona w maju 2026 r. — przydatny do dostrajania shared_buffers i work_mem przed uruchomieniem reprezentatywnego uruchomienia.

#
Interpretacja

Czego sama wartość GST nie dowodzi

Tps zależy od współczynnika skali, liczby jednoczesnych klientów, podstawowego sprzętu i ustawień Postgres aktywnych w momencie uruchomienia. Dwa wartości czasowe uzyskane przy różnych parametrach nie są porównywalne, nawet w tej samej bazie danych.

Aby wynik służył jako powtarzalne odniesienie, systematycznie dokumentuj: wersję Postgres, współczynnik skali, liczbę klientów/wątków, czas trwania działania i efektywną konfigurację postgresql.conf. Zobacz naszą pełną metodologię testów porównawczych , aby zapoznać się z protokołem, który stosujemy przed opublikowaniem rysunku.

#
Idź dalej

Strojenie Postgres przed ponownym uruchomieniem

Test porównawczy często ujawnia wąskie gardło przed jakąkolwiek korektą — nasycone połączenia, opóźniona automatyczna próżnia, brakujący indeks. Nasza lista kontrolna strojenia Postgres w produkcji i nasz artykuł na temat max_connections size obejmują ustawienia, które należy sprawdzić przed ponownym uruchomieniem.

#
Często zadawane pytania

Często zadawane pytania

Jaka jest różnica między pgbench i sysbench?+
pgbench to oficjalne narzędzie dostarczane z PostgreSQL: proste w instalacji, domyślne obciążenie zbliżone do TPC-B. sysbench to bardziej ogólne narzędzie do testów porównawczych z wtyczką sysbench-tpcc, która odtwarza obciążenie TPC-C w PostgreSQL.
Czy możemy uruchomić pgbench bezpośrednio w bazie danych Aurabase?+
Tak, względem standardowych parametrów połączenia Postgres podanych w panelu projektu. Korzystaj z dedykowanej bazy testowej, nigdy z bazy produkcyjnej.
Czy wartość TPS wystarczy, aby porównać dwa backendy?+
Nie. TPS zależy od liczby jednoczesnych klientów, rozmiaru zbioru danych, podstawowego sprzętu i konfiguracji Postgres. Bez opublikowanej i identycznie powtórzonej metodologii dwie dane dotyczące podatku GST nie są porównywalne.

GOTOWY DO WDROŻENIA?

Twój backend w pięć minut.

Karta kredytowa nie jest wymagana · 500 MB za darmo · 50 000 MAU