Test hiệu năng hệ thống Postgresql với pgbench

pgbench là một công cụ được cung cấp bởi PostgreSQL để kiểm tra hiệu suất của cơ sở dữ liệu PostgreSQL. Nó tạo ra một tập hợp các truy vấn mẫu và thực thi chúng để đánh giá khả năng chịu tải và hiệu suất của cơ sở dữ liệu.

Để sử dụng pgbench, bạn cần thực hiện các bước sau:

Thực hiện update chung:

yum update -y

yum install postgresql-contrib -y

1. Tạo cơ sở dữ liệu kiểm tra

Bạn cần tạo cơ sở dữ liệu mục tiêu hoặc sử dụng một cơ sở dữ liệu đã tồn tại để kiểm tra. Ví dụ, để tạo một cơ sở dữ liệu mới có tên là mydatabase, bạn có thể chạy lệnh sau:

su postgres

createdb mydatabase

2. Khởi tạo cơ sở dữ liệu kiểm tra với pgbench

pgbench -i -s 100 mydatabase

Trong đó:

  • -i là tùy chọn để khởi tạo cơ sở dữ liệu với dữ liệu mẫu.
  • -s 100 là scaling option, nó là số rows mặc định của table mẫu x factor. Như trong ví dụ này là 100, số row hiện có của table x 100 lần.

Khi thực thi lệnh này hệ thống sẽ tạo ra dữ liệu mẫu trong database:

Schema | Name | Type | Owner
——–+——————+——-+———-
public | pgbench_accounts | table | postgres
public | pgbench_branches | table | postgres
public | pgbench_history | table | postgres
public | pgbench_tellers | table | postgres

word image 1747 1

3. Chạy kiểm tra với pgbench

pgbench -c 90 -j 5 -T 60 mydatabase

Trong đó:

  • -c 90 là số lượng kết nối đồng thời (client) mà pgbench sẽ sử dụng (số session).
  • -T 60 là thời gian chạy kiểm tra, ở đây là 60 giây.
  • -t 1000 là số transactions thực hiện test (có thể thay thế cho -T)
  • -j 5: số luồng chạy đồng thời

word image 1747 2

4. Xem kết quả

pgbench sẽ hiển thị kết quả sau khi hoàn thành quá trình chạy. Kết quả bao gồm số lượng truy vấn mỗi giây (TPS – Transactions Per Second).

Ngoài ra, bạn cũng có thể tùy chỉnh các tham số của pgbench để phản ánh các tình huống sử dụng cụ thể của ứng dụng của bạn. Điều này bao gồm thay đổi số lượng client, tỷ lệ đọc/ghi, và nhiều tham số khác.

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận