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.
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.
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;"
pgbench i sysbench-tpcc tworzą, wypełniają i modyfikują tabele. Zawsze korzystaj z dedykowanej bazy, nigdy ze schematu obsługującego rzeczywisty ruch.
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.
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.
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.
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.