PGBench - Chạy bài kiểm tra điểm chuẩn trênPostgreSQL
PGBench
-I
[Tùy chọn
...] [dbname
]
PGBench
[Tùy chọn
...] [dbname
]
PGBenchlà một chương trình đơn giản để chạy cách đọc kèo bóng đá bài kiểm tra điểm chuẩn trênPostgreSQL. Nó chạy cùng một chuỗi cách đọc kèo bóng đá lệnh SQL nhiều lần, có thể trong nhiều phiên cơ sở dữ liệu đồng thời và sau đó tính toán tỷ lệ giao dịch trung bình (giao dịch mỗi giây).PGBenchKiểm tra cách đọc kèo bóng đá kịch bản dựa trên TPC-B, liên quan đến nămChọn
, Cập nhật
vàChèn
lệnh cho mỗi giao dịch. Tuy nhiên, thật dễ dàng để kiểm tra cách đọc kèo bóng đá trường hợp khác bằng cách viết cách đọc kèo bóng đá tệp tập lệnh giao dịch của riêng bạn.
Đầu ra điển hình từPGBenchTrông giống như:
Loại cách đọc kèo bóng đá: <Buildin: TPC-B (loại)
Sáu dòng đầu tiên báo cáo một số cài đặt tham số quan trọng nhất. Dòng tiếp theo báo cáo số lượng cách đọc kèo bóng đá đã hoàn thành và dự định (sau này chỉ là sản phẩm của số lượng khách hàng và số lượng cách đọc kèo bóng đá trên mỗi khách hàng);-T
Chế độ, chỉ có số lượng giao dịch thực tế được in.) Hai dòng cuối cùng báo cáo số lượng giao dịch mỗi giây, được tìm ra và không đếm thời gian để bắt đầu cách đọc kèo bóng đá phiên cơ sở dữ liệu.
Kiểm tra giao dịch TPC-B mặc định yêu cầu cách đọc kèo bóng đá bảng cụ thể được thiết lập trước.PGBenchnên được gọi bằng-I
(Khởi tạo) Tùy chọn để tạo và điền vào cách đọc kèo bóng đá bảng này. .
pgbench -i [tùy chọn khác
]dbname
WHEREdbname
là tên của cơ sở dữ liệu đã được tạo để kiểm tra. (Bạn cũng có thể cần-H
, -P
, và/hoặc-U
Tùy chọn để chỉ định cách đọc kèo bóng đá kết nối với máy chủ cơ sở dữ liệu.)
pgbench -i
Tạo bốn bảngpgbench_accounts
, pgbench_branches
, pgbench_history
vàpgbench_tellers
, Phá hủy bất kỳ bảng hiện có nào của cách đọc kèo bóng đá tên này. Hãy cẩn thận khi sử dụng cơ sở dữ liệu khác nếu bạn có cách đọc kèo bóng đá bảng có cách đọc kèo bóng đá tên này!
Tại mặc địnhYếu tố tỷ lệcủa 1, cách đọc kèo bóng đá bảng ban đầu chứa nhiều hàng này:
Bảng # hàng
Bạn có thể (và, cho hầu hết cách đọc kèo bóng đá mục đích, có lẽ nên) tăng số lượng hàng bằng cách sử dụng-S
(Hệ số tỷ lệ). The-f
(fillfactor) cũng có thể được sử dụng tại thời điểm này.
Sau khi thực hiện thiết lập cần thiết, bạn có thể chạy điểm chuẩn của mình bằng cách đọc kèo bóng đá lệnh không bao gồm-i
, đó là
PGBench [Tùy chọn
]dbname
Trong hầu hết cách đọc kèo bóng đá trường hợp, bạn sẽ cần một số tùy chọn để thực hiện một bài kiểm tra hữu ích. cách đọc kèo bóng đá tùy chọn quan trọng nhất là-C
(số lượng khách hàng),-T
(số lượng cách đọc kèo bóng đá),-T
(giới hạn thời gian) và-f
(Chỉ định tệp tập lệnh tùy chỉnh). Xem bên dưới để biết danh sách đầy đủ.
phần sau được chia thành ba tiểu mục. cách đọc kèo bóng đá tùy chọn khác nhau được sử dụng trong quá trình khởi tạo cơ sở dữ liệu và trong khi chạy điểm chuẩn, nhưng một số tùy chọn rất hữu ích trong cả hai trường hợp.
PGBenchChấp nhận cách đọc kèo bóng đá đối số khởi tạo dòng lệnh sau:
-I
--initialize
Yêu cầu gọi chế độ khởi tạo.
-Iinit_steps
--init-bước =init_steps
Thực hiện chỉ một tập hợp cách đọc kèo bóng đá bước khởi tạo bình thường được chọn.init_steps
Chỉ định cách đọc kèo bóng đá bước khởi tạo sẽ được thực hiện, sử dụng một ký tự mỗi bước. Mỗi bước được gọi theo thứ tự được chỉ định.DTGVP
. cách đọc kèo bóng đá bước có sẵn là:
D
(thả)Thả bất kỳ hiện tạiPGBenchBảng.
T
(Tạo bảng)Tạo cách đọc kèo bóng đá bảng được sử dụng bởi tiêu chuẩnPGBenchKịch bản, cụ thể làpgbench_accounts
, pgbench_branches
, pgbench_history
vàpgbench_tellers
.
g
(Tạo dữ liệu)Tạo dữ liệu và tải nó vào cách đọc kèo bóng đá bảng tiêu chuẩn, thay thế bất kỳ dữ liệu nào đã có.
V
(chân không)GọiVACUUM
Trên cách đọc kèo bóng đá bảng tiêu chuẩn.
P
(Tạo cách đọc kèo bóng đá khóa chính)Tạo cách đọc kèo bóng đá chỉ mục khóa chính trên cách đọc kèo bóng đá bảng tiêu chuẩn.
f
(Tạo khóa ngoại)Tạo cách đọc kèo bóng đá ràng buộc khóa nước ngoài giữa cách đọc kèo bóng đá bảng tiêu chuẩn. (Lưu ý rằng bước này không được thực hiện theo mặc định.)
-f
fillfactor
-fligfactor =
fillfactor
Tạopgbench_accounts
, pgbench_tellers
vàpgbench_branches
Bảng có chất độn đã cho. Mặc định là 100.
-N
--No-Vacuum
Thực hiện không có hút bụi trong quá trình khởi tạo. (Tùy chọn này ngăn chặnV
Bước khởi tạo, ngay cả khi nó được chỉ định trong-i
.)
-Q
---quiet
Chuyển đổi đăng nhập sang chế độ yên tĩnh, chỉ tạo cách đọc kèo bóng đá thông báo tiến trình mỗi 5 giây. Ghi nhật ký mặc định in cách đọc kèo bóng đá thông báo mỗi 100000 hàng, thường xuất ra nhiều dòng mỗi giây (đặc biệt là trên phần cứng tốt).
-S
scale_factor
--scale =
scale_factor
Nhân số lượng hàng được tạo bởi hệ số tỷ lệ. Ví dụ,-S 100
sẽ tạo 10.000.000 hàng trongpgbench_accounts
Bảng. Mặc định là 1. Khi tỷ lệ là 20.000 hoặc lớn hơn, cách đọc kèo bóng đá cột được sử dụng để giữ số nhận dạng tài khoản (viện trợ
cột) sẽ chuyển sang sử dụng cách đọc kèo bóng đá số nguyên lớn hơn (Bigint
), để đủ lớn để giữ phạm vi nhận dạng tài khoản.
-EFFFORIGN-KEYS
Tạo cách đọc kèo bóng đá ràng buộc khóa nước ngoài giữa cách đọc kèo bóng đá bảng tiêu chuẩn. (Tùy chọn này thêmf
Bước cách đọc cách đọc kèo bóng đáo chuỗi bước khởi tạo, nếu nó chưa có mặt.)
-Index-TableSpace =index_tablespace
Tạo cách đọc kèo bóng đá chỉ mục trong không gian bảng được chỉ định, thay vì không gian bảng mặc định.
--TableSpace =Không gian bảng
Tạo cách đọc kèo bóng đá bảng trong không gian bảng được chỉ định, thay vì không gian bảng mặc định.
--Unlogged ables
Tạo tất cả cách đọc kèo bóng đá bảng dưới dạng cách đọc kèo bóng đá bảng chưa được tính, thay vì cách đọc kèo bóng đá bảng vĩnh viễn.
PGBenchChấp nhận cách đọc kèo bóng đá đối số điểm chuẩn dòng sau:
-B
scriptName [@weight]
-Builtin
=scriptName [@weight]
Thêm tập lệnh tích hợp được chỉ định vào danh sách cách đọc kèo bóng đá tập lệnh sẽ được thực thi. cách đọc kèo bóng đá tập lệnh tích hợp có sẵn là:TPCB giống như
, Đơn giản update
vàCHỌN CHỈ
. Tiền tố rõ ràng của cách đọc kèo bóng đá tên tích hợp được chấp nhận.Danh sách
, Hiển thị danh sách cách đọc kèo bóng đá tập lệnh tích hợp và thoát ngay lập tức.
Tùy chọn, viết trọng lượng số nguyên sau@
Để điều chỉnh xác suất chọn tập lệnh này so với cách đọc kèo bóng đá tập lệnh khác. Trọng lượng mặc định là 1. Xem bên dưới để biết chi tiết.
-C
Khách hàng
--Client =
Khách hàng
Số lượng khách hàng mô phỏng, nghĩa là, số phiên cơ sở dữ liệu đồng thời. Mặc định là 1.
-C
--Connect
Thiết lập kết nối mới cho mỗi cách đọc kèo bóng đá, thay vì thực hiện nó chỉ một lần cho mỗi phiên khách. Điều này rất hữu ích để đo chi phí kết nối.
-D
-Debug
Đầu ra gỡ lỗi in.
-D
varname
=
giá trị
--DEFINE =
varname
=
giá trị
Xác định cách đọc kèo bóng đá biến được sử dụng bởi tập lệnh tùy chỉnh (xem bên dưới). Nhiều-D
Tùy chọn được cho phép.
-f
FileName [@weight]
--file =
FileName [@weight]
Thêm tập lệnh cách đọc kèo bóng đá đọc từFileName
đến danh sách cách đọc kèo bóng đá tập lệnh sẽ được thực thi.
Tùy chọn, viết trọng lượng số nguyên sau@
Để điều chỉnh xác suất chọn tập lệnh này so với cách đọc kèo bóng đá tập lệnh khác. Trọng lượng mặc định là 1. (Để sử dụng tên tệp tập lệnh bao gồm@
ký tự, nối trọng lượng để không có sự mơ hồ, ví dụfilen@me@1
.) Xem bên dưới để biết chi tiết.
-J
Chủ đề
--Jobs =
Chủ đề
Số lượng chủ đề công nhân trongPGBench. Sử dụng nhiều hơn một luồng có thể hữu ích trên cách đọc kèo bóng đá máy đa CPU.
-L
--log
Viết thông tin về mỗi cách đọc kèo bóng đá vào tệp nhật ký. Xem bên dưới để biết chi tiết.
-L
Giới hạn
-Latency-limit =
giới hạn
cách đọc kèo bóng đá tồn tại nhiều hơnGiới hạn
mili giây được tính và báo cáo riêng, làmuộn.
Khi sử dụng điều chỉnh (--Rate = ...
), cách đọc kèo bóng đá giao dịch tụt hậu so với lịch trình nhiều hơnGiới hạn
MS, và do đó không có hy vọng đáp ứng giới hạn độ trễ, hoàn toàn không được gửi đến máy chủ. Chúng được tính và báo cáo riêng làBỏ qua.
-M
QueryMode
--Protocol =
QueryMode
cách đọc kèo bóng đá thức để sử dụng để gửi truy vấn đến máy chủ:
đơn giản
: Sử dụng cách đọc kèo bóng đá thức truy vấn đơn giản.
mở rộng
: Sử dụng cách đọc kèo bóng đá thức truy vấn mở rộng.
Chuẩn bị
: Sử dụng giao thức truy vấn mở rộng với cách đọc kèo bóng đá câu lệnh đã chuẩn bị.
Mặc định là cách đọc kèo bóng đá thức truy vấn đơn giản. (Nhìn thấyChương 53Để biết thêm thông tin.)
-N
--No-Vacuum
Thực hiện không có hút bụi trước khi chạy thử nghiệm. Tùy chọn này làcần thiếtNếu bạn đang chạy kịch bản kiểm tra tùy chỉnh không bao gồm cách đọc kèo bóng đá bảng tiêu chuẩnpgbench_accounts
, pgbench_branches
, pgbench_history
vàpgbench_tellers
.
-N
--skip-some-updates
Chạy tập lệnh cập nhật đơn giản tích hợp. Tốc ký cho-B Đơn giản Update
.
-P
Sec
-ProTHER =
Sec
Hiển thị báo cáo tiến độ mỗiSec
giây. Báo cáo bao gồm thời gian kể từ khi bắt đầu lần chạy, TPS kể từ báo cáo cuối cùng và trung bình độ trễ cách đọc kèo bóng đá và độ lệch chuẩn kể từ báo cáo cuối cùng.-R
), độ trễ được tính toán liên quan đến thời gian bắt đầu theo lịch trình cách đọc kèo bóng đá, không phải là thời gian bắt đầu cách đọc kèo bóng đá thực tế, do đó nó cũng bao gồm thời gian trễ lịch trình trung bình.
-R
--ratencies
Báo cáo độ trễ trung bình trên mỗi lần (thời gian thực hiện từ quan điểm của máy khách) của mỗi lệnh sau khi điểm chuẩn kết thúc. Xem bên dưới để biết chi tiết.
-R
Rate
--Rate =
Rate
Thực hiện cách đọc kèo bóng đá giao dịch nhắm mục tiêu tỷ lệ được chỉ định thay vì chạy nhanh nhất có thể (mặc định). Tỷ lệ được đưa ra trong cách đọc kèo bóng đá giao dịch mỗi giây.
Tỷ lệ được nhắm mục tiêu bằng cách bắt đầu cách đọc kèo bóng đá giao dịch dọc theo dòng thời gian lịch trình phân phối Poisson. Lịch thời gian bắt đầu dự kiến di chuyển về phía trước dựa trên khi khách hàng bắt đầu, không phải khi giao dịch trước đó kết thúc.
Khi điều chỉnh hoạt động, độ trễ cách đọc kèo bóng đá được báo cáo khi kết thúc lần chạy được tính từ thời gian bắt đầu theo lịch trình, do đó, bao gồm thời gian mỗi cách đọc kèo bóng đá phải chờ cách đọc kèo bóng đá trước đó kết thúc. Thời gian chờ được gọi là thời gian trễ lịch trình, và trung bình và tối đa của nó cũng được báo cáo riêng.
nếu-Latency-Limit
được sử dụng cùng với--Rate
, Một giao dịch có thể tụt lại phía sau rất nhiều đến mức nó đã vượt quá giới hạn độ trễ khi giao dịch trước đó kết thúc, vì độ trễ được tính từ thời gian bắt đầu theo lịch trình. cách đọc kèo bóng đá giao dịch như vậy không được gửi đến máy chủ, nhưng được bỏ qua hoàn toàn và được tính riêng.
Thời gian trễ lịch trình cao là một dấu hiệu cho thấy hệ thống không thể xử lý cách đọc kèo bóng đá giao dịch theo tỷ lệ được chỉ định, với số lượng khách hàng và luồng được chọn. Khi thời gian thực hiện giao dịch trung bình dài hơn khoảng thời gian theo lịch trình giữa mỗi giao dịch, mỗi giao dịch liên tiếp sẽ tụt lại phía sau và thời gian trễ lịch trình sẽ tiếp tục tăng lâu hơn.
-S
scale_factor
--scale =
scale_factor
Báo cáo hệ số tỷ lệ được chỉ định trong31850_31859đầu ra. Với cách đọc kèo bóng đá bài kiểm tra tích hợp, điều này là không cần thiết;pgbench_branches
Bảng. Tuy nhiên, khi chỉ kiểm tra điểm chuẩn tùy chỉnh (-f
Tùy chọn), hệ số tỷ lệ sẽ được báo cáo là 1 trừ khi tùy chọn này được sử dụng.
-S
--Select chỉ
Chạy tập lệnh chỉ chọn tích hợp. Tốc ký cho-B chỉ chọn
.
-T
cách đọc kèo bóng đá
--TransActions =
cách đọc kèo bóng đá
Số lượng cách đọc kèo bóng đá mỗi khách hàng chạy. Mặc định là 10.
-T
giây
-thời gian =
giây
Chạy thử nghiệm trong nhiều giây này, thay vì số lượng cách đọc kèo bóng đá cố định cho mỗi máy khách.-T
và-T
là loại trừ lẫn nhau.
-V
--vacuum-all
Chacuum Tất cả bốn bảng tiêu chuẩn trước khi chạy thử nghiệm. Không có-N
NOR-V
, PGBenchSẽ hút bụiPGBENCH_TELLERS
vàpgbench_branches
Bảng và sẽ cắt ngắnpgbench_history
.
--Ggregate-interval =giây
Độ dài khoảng thời gian tổng hợp (tính bằng giây). Chỉ có thể được sử dụng với-L
Tùy chọn. Với tùy chọn này, nhật ký chứa dữ liệu tóm tắt trên khoảng thời gian, như được mô tả bên dưới.
-log-prefix =tiền tố
Đặt tiền tố FileName cho cách đọc kèo bóng đá tệp nhật ký được tạo bởi--log
. Mặc định làpgbench_log
.
-ProTros-Timestamp
Khi hiển thị tiến trình (tùy chọn-P
), Sử dụng dấu thời gian (Epoch Unix) thay vì số giây kể từ khi bắt đầu chạy. Đơn vị này trong cách đọc kèo bóng đái giây, với độ chính xác mili giây sau dấu chấm.
-Random-seed =
hạt giống
Đặt hạt giống máy phát ngẫu nhiên. Hạt giống Trình tạo số ngẫu nhiên của hệ thống, sau đó tạo ra một chuỗi cách đọc kèo bóng đá trạng thái máy phát ban đầu, một cho mỗi luồng.hạt giống
có thể là:Thời gian
(Mặc định, hạt giống dựa trên thời gian hiện tại),rand
(Sử dụng nguồn ngẫu nhiên mạnh mẽ, thất bại nếu không có) hoặc giá trị số nguyên thập phân không dấu. Trình tạo ngẫu nhiên được gọi rõ ràng từ tập lệnh PGBench (ngẫu nhiên ...
chức năng) hoặc ngầm (ví dụ tùy chọn--Rate
Sử dụng nó để lên lịch cách đọc kèo bóng đá). Khi được thiết lập rõ ràng, giá trị được sử dụng để gieo hạt được hiển thị trên thiết bị đầu cuối.hạt giống
cũng có thể được cung cấp thông qua biến môi trườngpgbench_random_seed
. Để đảm bảo rằng hạt giống được cung cấp ảnh hưởng đến tất cả cách đọc kèo bóng đá mục đích sử dụng có thể, hãy đặt tùy chọn này lên hàng đầu hoặc sử dụng biến môi trường.
Đặt hạt giống cho phép tái tạo cách đọc kèo bóng đáPGBench
Chạy chính xác, theo như cách đọc kèo bóng đá số ngẫu nhiên có liên quan. Vì trạng thái ngẫu nhiên được quản lý cho mỗi luồng, điều này có nghĩa là chính xácPGBench
Chạy cho một lời mời giống hệt nhau nếu có một máy khách trên mỗi luồng và không có phụ thuộc cách đọc kèo bóng đáo bên ngoài hoặc dữ liệu. Từ một quan điểm thống kê tái tạo chính xác là một ý tưởng tồi vì nó có thể che giấu sự thay đổi hiệu suất hoặc cải thiện hiệu suất quá mức, ví dụ, bằng cách nhấn cùng một trang như lần chạy trước đó.
-Sampling-Rate =Rate
Tốc độ lấy mẫu, được sử dụng khi ghi dữ liệu vào nhật ký, để giảm lượng nhật ký được tạo. Nếu tùy chọn này được đưa ra, chỉ có một phần cách đọc kèo bóng đá được chỉ định được ghi lại.
Hãy nhớ đưa tỷ lệ lấy mẫu vào tài khoản khi xử lý tệp nhật ký. Ví dụ: khi tính toán cách đọc kèo bóng đá giá trị TPS, bạn cần nhân cách đọc kèo bóng đá số tương ứng (ví dụ: với tỷ lệ mẫu 0,01, bạn sẽ chỉ nhận được 1/100 TPS thực tế).
PGBenchChấp nhận cách đọc kèo bóng đá đối số chung dòng lệnh sau:
-H
tên máy chủ
--host =
tên máy chủ
Tên máy chủ của máy chủ cơ sở dữ liệu
-P
Cổng
--port =
Cổng
Số cổng của máy chủ cơ sở dữ liệu
-U
Đăng nhập
--Username =
Đăng nhập
Tên người dùng để kết nối là
-V
--Version
inPGBenchPhiên bản và Thoát.
-?
--Help
Hiển thị trợ giúp vềPGBenchđối số dòng lệnh và thoát.
PGBenchThực thi cách đọc kèo bóng đá tập lệnh kiểm tra được chọn ngẫu nhiên từ một danh sách được chỉ định. cách đọc kèo bóng đá tập lệnh có thể bao gồm cách đọc kèo bóng đá tập lệnh tích hợp được chỉ định với-B
và cách đọc kèo bóng đá tập lệnh do người dùng cung cấp được chỉ định với-f
. Mỗi tập lệnh có thể được cung cấp cách đọc kèo bóng đá trọng số tương đối được chỉ định sau cách đọc kèo bóng đá@
để thay đổi xác suất lựa chọn của nó. Trọng lượng mặc định là1
. Tập lệnh có trọng lượng0
bị bỏ qua.
Tập lệnh cách đọc kèo bóng đá tích hợp mặc định (cũng được gọi bằng-B TPCB giống như
) Phát hành bảy lệnh cho mỗi cách đọc kèo bóng đá được chọn ngẫu nhiênAID
, tid
, giá thầu
vàDelta
. Kịch bản được lấy cảm hứng từ điểm chuẩn TPC-B, nhưng không thực sự là TPC-B, do đó tên.
bắt đầu;
Cập nhật PGBench_Accounts đặt Abalance = Abalance +: Delta WHERE AID =: AID;
Chọn Abalance từ PGBench_Accounts WHERE AID =: AID;
41314_41389
41484_41560
Chèn vào cách đọc kèo bóng đá giá trị pgbench_history (tid, giá thầu, viện trợ, delta, mtime)
end;
Nếu bạn chọnĐơn giản update
tích hợp (cũng-N
), Bước 4 và 5 không được bao gồm trong giao dịch. Điều này sẽ tránh được sự tranh chấp cập nhật trên cách đọc kèo bóng đá bảng này, nhưng nó làm cho trường hợp thử nghiệm thậm chí còn giống như TPC-B.
Nếu bạn chọnChỉ chọn
tích hợp (cũng-S
), ChỉChọn
được ban hành.
PGBenchCó hỗ trợ để chạy cách đọc kèo bóng đá kịch bản điểm chuẩn tùy chỉnh bằng cách thay thế tập lệnh giao dịch mặc định (được mô tả ở trên) bằng tập lệnh giao dịch được đọc từ tệp (-f
Tùy chọn). Trong trường hợp này Acách đọc kèo bóng đáđược tính là cách đọc kèo bóng đá lần thực hiện tệp tập lệnh.
Tệp tập lệnh chứa một hoặc nhiều lệnh SQL bị chấm dứt bởi dấu chấm phẩy. cách đọc kèo bóng đá đường và đường trống bắt đầu bằng--
bị bỏ qua. Tệp tập lệnh cũng có thể chứaMạnhlệnh metaHồi, được giải thích bởiPGBenchchính nó, như được mô tả bên dưới.
trướcPostgreSQL9.6, cách đọc kèo bóng đá lệnh SQL trong cách đọc kèo bóng đá tệp script đã bị chấm dứt bởi cách đọc kèo bóng đá dòng mới và do đó chúng không thể được tiếp tục trên cách đọc kèo bóng đá dòng. Bây giờ là một dấu chấm phẩy làYêu cầuĐể tách cách đọc kèo bóng đá lệnh SQL liên tiếp (mặc dù lệnh SQL không cần phải có nếu nó được theo sau bởi lệnh meta). Nếu bạn cần tạo một tệp tập lệnh hoạt động với cả phiên bản cũ và mới củaPGBench, Hãy chắc chắn viết mỗi lệnh SQL trên cách đọc kèo bóng đá dòng kết thúc bằng dấu chấm phẩy.
Có một cơ sở thay thế biến đơn giản cho cách đọc kèo bóng đá tệp script. Tên biến phải bao gồm cách đọc kèo bóng đá chữ cái (bao gồm cách đọc kèo bóng đá chữ cái không phải là latin), chữ số và dấu gạch dưới, với ký tự đầu tiên không phải là một chữ số.-D
Tùy chọn, được giải thích ở trên hoặc theo cách đọc kèo bóng đá lệnh meta được giải thích dưới đây. Ngoài bất kỳ biến nào được đặt trước bởi-D
Tùy chọn dòng lệnh, có một cách đọc kèo bóng đái biến được đặt trước tự động, được liệt kê trongBảng 242. Một giá trị được chỉ định cho cách đọc kèo bóng đá biến này bằng cách sử dụng-D
được ưu tiên hơn cách đọc kèo bóng đá cài đặt trước tự động. Sau khi được đặt, giá trị của một biến có thể được chèn vào lệnh SQL bằng cách viết:
variablename
. Khi chạy nhiều phiên khách, mỗi phiên có bộ biến riêng.
Bảng 242. Biến tự động
biến | Mô tả |
---|---|
client_id |
Số duy nhất Xác định phiên khách (bắt đầu từ 0) |
default_seed |
hạt giống được sử dụng trong cách đọc kèo bóng đá hàm băm theo mặc định |
Random_seed |
Hạt giống máy phát ngẫu nhiên (trừ khi được ghi đè bằng-D ) |
Scale |
Yếu tố tỷ lệ hiện tại |
cách đọc kèo bóng đá lệnh meta tập tin bắt đầu bằng dấu gạch chéo ngược (\
) và thường mở rộng đến cuối dòng, mặc dù chúng có thể được tiếp tục bổ sung cách đọc kèo bóng đá dòng bằng cách viết ngược lại. cách đọc kèo bóng đá đối số cho một lệnh meta được phân tách bằng không gian trắng.
\ if
Biểu thức
\ Elif
Biểu thức
\ other
\ endif
Nhóm lệnh này thực hiện cách đọc kèo bóng đá khối điều kiện có thể làm tổ, tương tự nhưPSQL
's\ if
expression
. Biểu thức có điều kiện giống hệt với cách đọc kèo bóng đá biểu thức có\ set
, với cách đọc kèo bóng đá giá trị khác không được hiểu là đúng.
\ setvarname
47546_47558
Đặt biếnvarname
với giá trị được tính từBiểu thức
. Biểu thức có thể chứanull
hằng số, hằng số booleanTRUE
vàSai
, hằng số nguyên như5432
, Hằng số kép như3.14159
, tham chiếu đến cách đọc kèo bóng đá biến:
Variablename
, toán tửVới ưu tiên và kết hợp SQL thông thường của họ,Chức năng gọi, SQLcase
Biểu thức có điều kiện chungvà dấu ngoặc đơn.
Hàm và hầu hết cách đọc kèo bóng đá toán tử trở lạinull
trênnull
Đầu cách đọc kèo bóng đáo.
Đối với mục đích có điều kiện, cách đọc kèo bóng đá giá trị số không phải là khôngTRUE
, Giá trị số không vànull
làSai
.
Khi không có cuối cùngkhác
mệnh đề được cung cấp cho Acase
, giá trị mặc định lànull
.
Ví dụ:
\ SET NTELLERS 10 *: Tỷ lệ
\ ngủSố
[Chúng tôi | MS |
khiến việc thực thi tập lệnh ngủ trong thời lượng được chỉ định tính bằng micro giây (US
), mili giây (MS
) hoặc giây (S
). Nếu đơn vị bị bỏ qua thì giây là mặc định.Số
có thể là hằng số nguyên hoặc:
variablename
tham chiếu đến cách đọc kèo bóng đá biến có giá trị số nguyên.
Ví dụ:
\ ngủ 10 ms
\ setshellvarname
lệnh
[Đối số
...]
Đặt biếnvarname
đến kết quả của lệnh shelllệnh
với đã choĐối số
(s). Lệnh phải trả về giá trị số nguyên thông qua đầu ra tiêu chuẩn của nó.
lệnh
và mỗiĐối số
có thể là cách đọc kèo bóng đá hằng số văn bản hoặc:
variablename
tham chiếu đến cách đọc kèo bóng đá biến. Nếu bạn muốn sử dụngĐối số
Bắt đầu bằng một dấu hai chấm, hãy viết thêm một đại tràng cách đọc kèo bóng đáo đầuĐối số
.
Ví dụ:
51257_51359
\ shelllệnh
[Đối số
...]
giống như\ setshell
, nhưng kết quả của lệnh bị loại bỏ.
Ví dụ:
\ shell lệnh literal_argument: biến :: literal_starting_with_colon
cách đọc kèo bóng đá toán tử số học, bitwise, so sánh và logic được liệt kê trongBảng 243được tích hợp cách đọc kèo bóng đáoPGBenchvà có thể được sử dụng trong cách đọc kèo bóng đá biểu thức xuất hiện trong\ set
.
Bảng 243. cách đọc kèo bóng đá toán tử PGBench bằng cách tăng ưu tiên
Nhà điều hành | Mô tả | Ví dụ | Kết quả |
---|---|---|---|
hoặc |
logic hoặc | 5 hoặc 0 |
TRUE |
và |
logic và | 3 và 0 |
Sai |
không |
logic không | không sai |
TRUE |
là [không] (null | true | false) |
Kiểm tra giá trị | 1 là null |
Sai |
isnull | notnull |
NULL kiểm tra | 1 Notnull |
TRUE |
= |
bằng nhau | 5 = 4 |
Sai |
< |
không bằng | 5 < 4 |
TRUE |
! = |
không bằng | 5! = 5 |
Sai |
< |
thấp hơn | 5 <4 |
Sai |
<= |
thấp hơn hoặc bằng | 5 <= 4 |
Sai |
|
lớn hơn | 5 4 |
TRUE |
= |
lớn hơn hoặc bằng | 5 = 4 |
TRUE |
| |
Số nguyên bitwise hoặc | 1 | 2 |
3 |
# |
Số nguyên bitwise XOR | 1 # 3 |
2 |
& |
Số nguyên bitwise và | 1 & 3 |
1 |
~ |
Số nguyên bitwise không | ~ 1 |
-2 |
<< |
số nguyên bitwise thay đổi trái | 1 << 2 |
4 |
|
Số nguyên bitwise Shift ormit | 8 2 |
2 |
+ |
Bổ sung | 5 + 4 |
9 |
- |
trừ | 3 - 2.0 |
1.0 |
* |
Nhân | 5 * 4 |
20 |
/ |
Division (Số nguyên cắt ngắn kết quả) | 5 / 3 |
1 |
% |
Modulo | 3 % 2 |
1 |
- |
đối diện | - 2.0 |
-2.0 |
cách đọc kèo bóng đá chức năng được liệt kê trongBảng 244được tích hợp cách đọc kèo bóng đáoPGBenchvà có thể được sử dụng trong cách đọc kèo bóng đá biểu thức xuất hiện trong\ set
.
Bảng 244. Chức năng PGBench
function | Return Type | Mô tả | Ví dụ | Kết quả |
---|---|---|---|---|
|
giống nhưA |
Giá trị tuyệt đối | abs (-17) |
17 |
|
giống nhưA |
inA đếnStderrvà trả vềA |
Debug (5432.1) |
5432.1 |
|
Double | Cast to Double | Double (5432) |
5432.0 |
|
Double | Số mũ | exp (1.0) |
2.718281828459045 |
|
gấp đôi nếu cóA là gấp đôi, số nguyên khác |
Giá trị lớn nhất trong số cách đọc kèo bóng đá đối số | vĩ đại nhất (5, 4, 3, 2) |
5 |
|
Số nguyên | bí danh choHash_murmur2 () |
Hash (10, 5432) |
-5817877081768721676 |
|
Số nguyên | FNV-1A Hash | Hash_fnv1a (10, 5432) |
-7793829335365542153 |
|
Số nguyên | murmurhash2 băm | Hash_murmur2 (10, 5432) |
-5817877081768721676 |
|
Số nguyên | Cast to Int | int (5.4 + 3.8) |
9 |
|
gấp đôi nếu cóA là gấp đôi, số nguyên khác |
Giá trị nhỏ nhất trong số cách đọc kèo bóng đá đối số | Ít nhất (5, 4, 3, 2.1) |
2.1 |
|
Double | logarit tự nhiên | LN (2.718281828459045) |
1.0 |
|
Số nguyên | Modulo | Mod (54, 32) |
22 |
|
Double | Giá trị của hằng số pi | pi () |
3.14159265358979323846 |
|
Double | số mũ | POW (2.0, 10) , Power (2.0, 10) |
1024.0 |
|
Số nguyên | Số nguyên ngẫu nhiên được phân phối đồng đều trong[lb, ub] |
ngẫu nhiên (1, 10) |
cách đọc kèo bóng đá số nguyên giữa1 và10 |
|
Số nguyên | Số nguyên ngẫu nhiên phân phối theo cấp số nhân trong[lb, ub] , xem bên dưới |
Random_Exponential (1, 10, 3.0) |
cách đọc kèo bóng đá số nguyên giữa1 và10 |
|
Số nguyên | Số nguyên ngẫu nhiên do Gaussian phân phối trong[lb, ub] , xem bên dưới |
Random_gaussian (1, 10, 2.5) |
cách đọc kèo bóng đá số nguyên giữa1 và10 |
|
Số nguyên | Số nguyên ngẫu nhiên phân phối Zipfian trong[lb, ub] , xem bên dưới |
Random_zipfian (1, 10, 1.5) |
số nguyên giữa1 và10 |
|
Double | căn bậc hai | SQRT (2.0) |
1.414213562 |
Thengẫu nhiên
Hàm tạo ra cách đọc kèo bóng đá giá trị bằng cách sử dụng phân phối đồng nhất, đó là tất cả cách đọc kèo bóng đá giá trị được rút ra trong phạm vi được chỉ định với xác suất bằng nhau. TheRandom_Exponential
, Random_gaussian
vàRandom_zipfian
cách đọc kèo bóng đá hàm yêu cầu tham số kép bổ sung để xác định hình dạng chính xác của phân phối.
Đối với phân phối theo cấp số nhân,tham số
Kiểm soát phân phối bằng cách đọc kèo bóng đá cắt ngắn phân phối theo cấp số nhân giảm nhanh tạitham số
, và sau đó chiếu lên số nguyên giữa cách đọc kèo bóng đá giới hạn. Để chính xác, với
f (x) = exp (-parameter*(x-min)/(max-min+1))/(1-exp (-parameter))
sau đó giá trịi
giữamin
vàmax
Bao gồm được rút ra với xác suất:f (i) - f (i + 1)
.
theo trực giác, càng lớntham số
, cách đọc kèo bóng đá giá trị thường xuyên hơn gầnmin
được truy cập và cách đọc kèo bóng đá giá trị ít thường xuyên hơn gầnmax
được truy cập. Gần với 0tham số
IS, Flatter (đồng nhất hơn) Phân phối truy cập. Một xấp xỉ thô của phân phối là cách đọc kèo bóng đá giá trị 1% thường xuyên nhất trong phạm vi, gần vớimin
, được vẽtham số
% thời gian. Thetham số
Giá trị phải hoàn toàn dương.
Đối với phân phối Gaussian, khoảng thời gian được ánh xạ cách đọc kèo bóng đáo một phân phối bình thường tiêu chuẩn (đường cong Gaussian hình chuông cổ điển) bị cắt ngắn tại-Parameter
ở bên trái và+tham số
Ở bên phải. cách đọc kèo bóng đá giá trị ở giữa khoảng thời gian có nhiều khả năng được rút ra.PHI (x)
là hàm phân phối tích lũy của phân phối bình thường tiêu chuẩn, với giá trị trung bìnhMU
được xác định là(tối đa + min) / 2.0
, với
f (x) = PHI (2.0*tham số*(x-mu)/(tối đa-max+1))/
(2.0*PHI (tham số)-1)
Sau đó, Giá trịi
giữamin
vàMax
Bao gồm được rút ra với xác suất:f (i + 0,5) - f (i - 0,5)
. Theo trực giác, càng lớntham số
, cách đọc kèo bóng đá giá trị thường xuyên hơn gần giữa khoảng thời gian được rút ra và cách đọc kèo bóng đá giá trị ít thường xuyên hơn gần vớimin
vàmax
giới hạn. Khoảng 67% giá trị được rút ra từ giữa1.0 / tham số
, đó là cách đọc kèo bóng đá người quan hệ0.5 / tham số
Xung quanh giá trị trung bình và 95% ở giữa2.0 / tham số
, đó là cách đọc kèo bóng đá người quan hệ1.0 / tham số
xung quanh giá trị trung bình; Ví dụ, nếutham số
là 4.0, 67% giá trị được rút ra từ quý giữa (1.0 / 4.0) của khoảng (nghĩa là, từ3.0 / 8.0
đến5.0 / 8.0
) và 95% từ nửa giữa (2.0 / 4.0
) của khoảng (tứ phân vị thứ hai và thứ ba). Tối thiểutham số
là 2.0 cho hiệu suất của biến đổi hình hộp.
Random_zipfian
Tạo phân phối Zipfian bị ràng buộc gần đúng. Vìtham số
in (0, 1), cách đọc kèo bóng đá thuật toán xấp xỉ được lấy từ "nhanh chóng tạo ra cơ sở dữ liệu tổng hợp hàng tỷ bản ghi", Jim Gray et al, Sigmod 1994. Đối vớitham số
Trong (1, 1000), cách đọc kèo bóng đá phương pháp từ chối được sử dụng, dựa trên "Tạo biến thể ngẫu nhiên không đồng nhất", Luc Devroye, p. 550-551, Springer 1986. Phân phối không được xác định khi giá trị của tham số là 1.0.
tham số
Xác định cách đọc kèo bóng đá phân phối sai lệch. Càng lớntham số
, cách đọc kèo bóng đá giá trị thường xuyên hơn gần với đầu của khoảng thời gian được rút ra. Gần với 0tham số
IS, Flatter (đồng nhất hơn) Phân phối đầu ra. Phân phối là như vậy, giả sử phạm vi bắt đầu từ 1, tỷ lệ xác suất vẽK
so với bản vẽK+1
là((
. Ví dụ,K
+1)/K
) **tham số
Random_zipfian (1, ..., 2.5)
Sản xuất giá trị1
về(2/1) ** 2.5 = 5.66
lần thường xuyên hơn2
, bản thân nó được sản xuất(3/2) ** 2.5 = 2.76
lần thường xuyên hơn3
, v.v.
hàm bămHash
, Hash_murmur2
vàHash_fnv1a
Chấp nhận giá trị đầu cách đọc kèo bóng đáo và tham số hạt giống tùy chọn. Trong trường hợp hạt giống không được cung cấp giá trị của: default_seed
được sử dụng, được khởi tạo ngẫu nhiên trừ khi được đặt bởi dòng lệnh-D
Tùy chọn. cách đọc kèo bóng đá hàm băm có thể được sử dụng để phân tán phân phối cách đọc kèo bóng đá hàm ngẫu nhiên nhưRandom_zipfian
hoặcngẫu nhiên_exponential
. Chẳng hạn, tập lệnh PGBench sau đây mô phỏng khối lượng công việc trong thế giới thực có thể có cho cách đọc kèo bóng đá nền tảng truyền thông xã hội và blog trong đó ít tài khoản tạo ra tải quá mức:
77036_77112
Trong cách đọc kèo bóng đá số trường hợp, cách đọc kèo bóng đá số phân phối riêng biệt là cần thiết không tương quan với nhau và đây là khi tham số hạt giống ngầm có ích:
\ SET K1 ABS (băm (: r,: default_seed + 123)) % 1000000
Ví dụ, định nghĩa đầy đủ về cách đọc kèo bóng đá TPC-B-giống tích hợp là:
\ Đặt Aid Random (1, 100000 *: Tỷ lệ)
Tập lệnh này cho phép mỗi lần lặp lại giao dịch tham chiếu cách đọc kèo bóng đá hàng khác nhau, được chọn ngẫu nhiên. .
với-L
Tùy chọn (nhưng không có--Ggregate-Interval
tùy chọn),PGBenchViết thông tin về mỗi cách đọc kèo bóng đá vào một tệp nhật ký. Tệp nhật ký sẽ được đặt tên
, trong đótiền tố
.nnn
tiền tố
Mặc định làpgbench_log
vànnn
là pid củaPGBenchQuá trình. Tiền tố có thể được thay đổi bằng cách đọc kèo bóng đá sử dụng-Log-Prefix
Tùy chọn. Nếu-J
Tùy chọn từ 2 hoặc cao hơn, để có nhiều luồng công nhân, mỗi luồng sẽ có tệp nhật ký riêng. Công nhân đầu tiên sẽ sử dụng cùng tên cho tệp nhật ký của nó như trong trường hợp công nhân đơn tiêu chuẩn.
, trong đótiền tố
.nnn
.MMM
MMM
là số tuần tự cho mỗi công nhân bắt đầu với 1.
Định dạng của nhật ký là:
client_id
cách đọc kèo bóng đá dịch_no
Thời gian
script_no
time_epoch
time_us
[Lịch trình_lag
]
WHEREclient_id
Cho biết phiên khách nào chạy cách đọc kèo bóng đá,cách đọc kèo bóng đá dịch_no
Đếm số lượng cách đọc kèo bóng đá đã được thực hiện bởi phiên đó,Thời gian
Có phải tổng thời gian cách đọc kèo bóng đá đã trôi qua tính bằng micro giây,script_no
Xác định tệp tập lệnh nào đã được sử dụng (hữu ích khi nhiều tập lệnh được chỉ định với-f
hoặc-B
) vàtime_epoch
/time_us
là dấu thời gian unix-epoch và phần bù tính bằng micro giây (phù hợp để tạo dấu thời gian ISO 8601 với giây phân đoạn) hiển thị khi cách đọc kèo bóng đá hoàn thành. TheLịch trình_lag
Trường là sự khác biệt giữa thời gian bắt đầu theo lịch trình của cách đọc kèo bóng đá và thời gian nó thực sự bắt đầu, trong micro giây. Nó chỉ có mặt khi--Rate
Tùy chọn được sử dụng. Khi cả hai--Rate
và-Latency-Limit
được sử dụng,thời gian
Đối với một cách đọc kèo bóng đá bị bỏ qua sẽ được báo cáo làBỏ qua
.
Đây là cách đọc kèo bóng đá đoạn của tệp nhật ký được tạo trong cách đọc kèo bóng đá lần chạy đơn:
0 199 2241 0 1175850568 995598 0 200 2465 0 1175850568 998079 0 201 2513 0 1175850569 608 0 202 2038 0 1175850569 2663
cách đọc kèo bóng đá ví dụ khác với--Rate = 100
và-Latency-Limit = 5
(Lưu ý bổ sungLịch trình_lag
cột):
0 81 4621 0 1412881037 912698 3005
Trong ví dụ này, cách đọc kèo bóng đá 82 đã trễ, vì độ trễ của nó (6.173 ms) đã vượt quá giới hạn 5 ms. Hai cách đọc kèo bóng đá tiếp theo đã bị bỏ qua, vì chúng đã bị trễ trước khi chúng bắt đầu.
Khi chạy thử nghiệm dài về phần cứng có thể xử lý nhiều giao dịch, cách đọc kèo bóng đá tệp nhật ký có thể trở nên rất lớn. The-Sampling-Rate
Tùy chọn có thể được sử dụng để chỉ ghi lại một mẫu cách đọc kèo bóng đá ngẫu nhiên.
với--Ggregate-Interval
Tùy chọn, một định dạng khác được sử dụng cho cách đọc kèo bóng đá tệp nhật ký:
Interval_Start
num_transactions
sum_latency
sum_latency_2
min_latency
Max_Latency
[sum_lag
sum_lag_2
MIN_LAG
MAX_LAG
[Bỏ qua
]]
WHEREinterval_start
là sự khởi đầu của khoảng thời gian (như cách đọc kèo bóng đá dấu thời gian Epoch unix),num_transactions
là số lượng cách đọc kèo bóng đá trong khoảng thời gian,sum_latency
là tổng của độ trễ cách đọc kèo bóng đá trong khoảng thời gian,sum_latency_2
là tổng hình vuông của độ trễ cách đọc kèo bóng đá trong khoảng thời gian,min_latency
là độ trễ tối thiểu trong khoảng thời gian vàMax_Latency
là độ trễ tối đa trong khoảng thời gian. cách đọc kèo bóng đá trường tiếp theo,sum_lag
, sum_lag_2
, min_lag
vàMAX_LAG
, chỉ có mặt nếu--Rate
Tùy chọn được sử dụng. Họ cung cấp số liệu thống kê về thời gian mỗi cách đọc kèo bóng đá phải chờ kết thúc trước đó, tức là, sự khác biệt giữa thời gian bắt đầu theo lịch trình của mỗi cách đọc kèo bóng đá và thời gian nó thực sự bắt đầu.Bỏ qua
, chỉ có mặt nếu-Latency-Limit
Tùy chọn cũng được sử dụng. Nó đếm số lượng cách đọc kèo bóng đá bị bỏ qua vì họ đã bắt đầu quá muộn.
Đây là cách đọc kèo bóng đá số ví dụ đầu ra:
1345828501 5601 1542744 483552416 61 2573 1345828503 7884 1979812 565806736 60 1479 1345828505 7208 1979422 567277552 59 1391 1345828507 7685 1980268 569784714 60 1398 1345828509 7073 1979779 573489941 236 1411
Lưu ý rằng trong khi tệp nhật ký đơn giản (không phân chia) hiển thị tập lệnh nào được sử dụng cho mỗi cách đọc kèo bóng đá, thì nhật ký tổng hợp thì không. Do đó, nếu bạn cần dữ liệu trên mỗi kịch bản, bạn cần phải tự mình tổng hợp dữ liệu.
với-R
Tùy chọn,PGBenchThu thập thời gian giao dịch đã qua của mỗi câu lệnh được thực hiện bởi mỗi khách hàng. Sau đó, nó báo cáo trung bình của cách đọc kèo bóng đá giá trị đó, được gọi là độ trễ cho mỗi câu lệnh, sau khi điểm chuẩn kết thúc.
Đối với tập lệnh mặc định, đầu ra sẽ trông tương tự như thế này:
Khởi động chân không ... kết thúc.
Nếu nhiều tệp script được chỉ định, mức trung bình được báo cáo riêng cho mỗi tệp tập lệnh.
Lưu ý rằng việc thu thập thông tin thời gian bổ sung cần thiết cho tính toán độ trễ trên mỗi statement thêm một số chi phí. Điều này sẽ làm chậm tốc độ thực thi trung bình và giảm cách đọc kèo bóng đá TPS được tính toán.
Nó rất dễ sử dụngPGBenchĐể tạo ra cách đọc kèo bóng đá số hoàn toàn vô nghĩa. Dưới đây là một số hướng dẫn để giúp bạn nhận được kết quả hữu ích.
Ở nơi đầu tiên,không bao giờTin bất kỳ bài kiểm tra nào chỉ chạy trong cách đọc kèo bóng đái giây. Sử dụng-T
hoặc-T
Tùy chọn để thực hiện lần chạy kéo dài ít nhất cách đọc kèo bóng đái phút, để tăng tiếng ồn trung bình. Trong một số trường hợp, bạn có thể cần hàng giờ để có được số có thể tái tạo.
Đối với kịch bản thử nghiệm TPC-B mặc định, hệ số tỷ lệ khởi tạo (-S
) ít nhất phải lớn như số lượng khách hàng lớn nhất mà bạn dự định kiểm tra (-C
); Nếu không, bạn sẽ chủ yếu là đo lường sự tranh chấp cập nhật.-S
hàng trongpgbench_branches
Bảng và mọi cách đọc kèo bóng đá muốn cập nhật một trong số đó, vì vậy-C
Giá trị vượt quá-S
chắc chắn sẽ dẫn đến rất nhiều giao dịch bị chặn chờ cách đọc kèo bóng đá giao dịch khác.
Kịch bản kiểm tra mặc định cũng khá nhạy cảm với thời gian kể từ khi cách đọc kèo bóng đá bảng được khởi tạo: tích lũy cách đọc kèo bóng đá hàng chết và không gian chết trong cách đọc kèo bóng đá bảng thay đổi kết quả. Để hiểu kết quả, bạn phải theo dõi tổng số cập nhật và khi việc hút bụi xảy ra.
Giới hạn củaPGBenchBản thân nó có thể trở thành nút cổ chai khi cố gắng kiểm tra một số lượng lớn cách đọc kèo bóng đá phiên khách. Điều này có thể được giảm bớt bằng cách chạyPGBenchTrên cách đọc kèo bóng đá máy khác với máy chủ cơ sở dữ liệu, mặc dù độ trễ mạng thấp sẽ rất cần thiết. Nó thậm chí có thể hữu ích khi chạy cách đọc kèo bóng đá sốPGBenchtrường hợp đồng thời, trên cách đọc kèo bóng đá số máy khách, đối với cùng cách đọc kèo bóng đá máy chủ cơ sở dữ liệu.
Nếu người dùng không tin cậy có quyền truy cập cách đọc kèo bóng đáo cơ sở dữ liệu chưa áp dụngmẫu sử dụng lược đồ an toàn, không chạyPGBenchTrong cơ sở dữ liệu đó.PGBenchSử dụng tên không đủ tiêu chuẩn và không thao tác đường dẫn tìm kiếm.