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 soi kèo bóng đá truoctran bài kiểm tra điểm chuẩn trênPostgreSQL. Nó chạy cùng một chuỗi soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran trường hợp khác bằng cách viết soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran: <Buildin: TPC-B (loại)
Bảy dòng đầu tiên báo cáo một số cài đặt tham số quan trọng nhất. Dòng thứ sáu báo cáo số lần thử tối đa cho soi kèo bóng đá truoctran giao dịch có lỗi tuần tự hóa hoặc bế tắc (xemThất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin). Dòng thứ tám báo cáo số lượng soi kèo bóng đá truoctran đã 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 soi kèo bóng đá truoctran trên mỗi khách hàng);-T
Chế độ, chỉ có số lượng soi kèo bóng đá truoctran thực tế được in.) Dòng tiếp theo báo cáo số lượng soi kèo bóng đá truoctran thất bại do nối tiếp hoặc lỗi bế tắc (xemThất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin). Dòng cuối cùng báo cáo số lượng soi kèo bóng đá truoctran mỗi giây.
Kiểm tra giao dịch TPC-B mặc định yêu cầu soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 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 soi kèo bóng đá truoctran tên này. Hãy rất cẩn thận khi sử dụng cơ sở dữ liệu khác nếu bạn có soi kèo bóng đá truoctran bảng có soi kèo bóng đá truoctran tên này!
Tại mặc địnhYếu tố tỷ lệcủa 1, soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ệ) tùy chọn. The-f
(fillfactor) cũng có thể được sử dụng tại thời điểm này.
Khi bạn đã 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 một lệnh soi kèo bóng đá truoctran bao gồm-i
, đó là
pgbench [Tùy chọn
]dbname
Trong hầu hết soi kèo bóng đá truoctran 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. soi kèo bóng đá truoctran tùy chọn quan trọng nhất là-C
(số lượng khách hàng),-T
(số lượng soi kèo bóng đá truoctran),-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 đủ.
Sau đây được chia thành ba tiểu mục. soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran đối số khởi tạo dòng lệnh sau:
[-D]dbname
[--dbname =]dbname
#Chỉ định tên của cơ sở dữ liệu để kiểm tra. Nếu điều này soi kèo bóng đá truoctran được chỉ định, biến môi trườngpgdatabase
được sử dụng. Nếu đó soi kèo bóng đá truoctran được đặt, tên người dùng được chỉ định cho kết nối được sử dụng.
-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 soi kèo bóng đá truoctran bước khởi tạo bình thường được chọn.init_steps
Chỉ định soi kèo bóng đá truoctran 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
. soi kèo bóng đá truoctran bước có sẵn là:
D
(thả) #Thả bất kỳ hiện tạiPGBenchBảng.
T
(Tạo bảng) #Tạo soi kèo bóng đá truoctran 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
hoặcg
(Tạo dữ liệu, phía máy khách hoặc phía máy chủ) #Tạo dữ liệu và tải nó vào soi kèo bóng đá truoctran bảng tiêu chuẩn, thay thế bất kỳ dữ liệu nào đã có.
vớig
(Tạo dữ liệu phía máy khách), dữ liệu được tạo soi kèo bóng đá truoctranPGBench
Khách hàng và sau đó được gửi đến máy chủ. Điều này sử dụng băng thông máy khách/máy chủ rộng rãi thông qua ACopy
. PGBench
sử dụngFreeze
Tùy chọn với phiên bản 14 trở lên củaPostgreSQLĐể tăng tốc độ tiếp theoNút hút
, ngoại trừ trênpgbench_accounts
Bảng nếu soi kèo bóng đá truoctran phân vùng được bật. Sử dụngg
gây ra việc đăng nhập để in một tin nhắn mỗi 100.000 hàng trong khi tạo dữ liệu cho tất cả soi kèo bóng đá truoctran bảng.
vớig
(Tạo dữ liệu phía máy chủ), chỉ soi kèo bóng đá truoctran truy vấn nhỏ được gửi từPGBench
Khách hàng và sau đó dữ liệu thực sự được tạo trong máy chủ. soi kèo bóng đá truoctran cần băng thông đáng kể cho biến thể này, nhưng máy chủ sẽ làm nhiều việc hơn.g
gây ra việc ghi nhật ký soi kèo bóng đá truoctran in bất kỳ thông báo tiến trình nào trong khi tạo dữ liệu.
Hành vi khởi tạo mặc định sử dụng tạo dữ liệu phía máy khách (tương đương vớig
).
V
(chân soi kèo bóng đá truoctran) #GọiNút hút
Trên soi kèo bóng đá truoctran bảng tiêu chuẩn.
P
(Tạo khóa chính) #Tạo soi kèo bóng đá truoctran chỉ mục khóa chính trên soi kèo bóng đá truoctran bảng tiêu chuẩn.
f
(Tạo khóa ngoại) #Tạo soi kèo bóng đá truoctran ràng buộc khóa nước ngoài giữa soi kèo bóng đá truoctran 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
#soi kèo bóng đá truoctran thực hiện soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran-I
.)
-Q
---quiet
#Chuyển đổi đăng nhập sang chế độ yên tĩnh, chỉ tạo soi kèo bóng đá truoctran thông báo tiến trình mỗi 5 giây. Ghi nhật ký mặc định in soi kèo bóng đá truoctran thông báo mỗi 100.000 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).
Cài đặt này soi kèo bóng đá truoctran có hiệu lực nếug
được chỉ định soi kèo bóng đá truoctran-i
.
-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 soi kèo bóng đá truoctranpgbench_accounts
Bảng. Mặc định là 1. Khi tỷ lệ là 20.000 hoặc lớn hơn, soi kèo bóng đá truoctran cột được sử dụng để giữ số nhận dạng tài khoản (AID
cột) sẽ chuyển sang sử dụng soi kèo bóng đá truoctran số nguyên lớn hơn (Bigint
), để đủ lớn để giữ phạm vi nhận dạng tài khoản.
-Eforign-Keys
#Tạo soi kèo bóng đá truoctran ràng buộc khóa nước ngoài giữa soi kèo bóng đá truoctran bảng tiêu chuẩn. (Tùy chọn này thêmf
Bước vào chuỗi bước khởi tạo, nếu nó chưa có mặt.)
--index-tableSpace =index_tablespace
#Tạo soi kèo bóng đá truoctran chỉ mục trong không gian bảng được chỉ định, thay vì không gian bảng mặc định.
--Phân cộng-method =tên
#Tạo soi kèo bóng đá truoctran phân vùngpgbench_accounts
Bảng vớitên
Phương pháp. Giá trị dự kiến làphạm vi
hoặcHash
. Tùy chọn này yêu cầu rằng--Đoạn
được đặt thành khác soi kèo bóng đá truoctran. Nếu soi kèo bóng đá truoctran xác định, mặc định làphạm vi
.
--đều có phần =num
#Tạo soi kèo bóng đá truoctran phân vùngpgbench_accounts
Bảng vớinum
Phân vùng có kích thước gần như bằng nhau cho số lượng tài khoản được chia tỷ lệ. Mặc định là0
, có nghĩa là soi kèo bóng đá truoctran có phân vùng.
--TableSpace =soi kèo bóng đá truoctran gian bảng
#Tạo soi kèo bóng đá truoctran 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ả soi kèo bóng đá truoctran bảng dưới dạng soi kèo bóng đá truoctran bảng chưa được tính, thay vì soi kèo bóng đá truoctran bảng vĩnh viễn.
PGBenchChấp nhận soi kèo bóng đá truoctran đối số điểm chuẩn dòng lệnh 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 soi kèo bóng đá truoctran tập lệnh sẽ được thực thi. soi kèo bóng đá truoctran tập lệnh tích hợp có sẵn là:TPCB giống như
, Đơn giản update
vàChỉ chọn
. Tiền tố rõ ràng của soi kèo bóng đá truoctran tên tích hợp được chấp nhận.Danh sách
, Hiển thị danh sách soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran, thay vì thực hiện nó chỉ một lần mỗi phiên khách. Điều này rất hữu ích để đo chi phí kết nối.
-D
varname
=
giá trị
-DEFINE =
varname
=
giá trị
#Xác định soi kèo bóng đá truoctran biến để 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 soi kèo bóng đá truoctran đọc từFileName
đến danh sách soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 để soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctranPGBench. Sử dụng nhiều hơn một luồng có thể hữu ích trên soi kèo bóng đá truoctran máy đa CPU.
-L
--log
#Viết thông tin về mỗi soi kèo bóng đá truoctran 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
#soi kèo bóng đá truoctran 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 = ...
), soi kèo bóng đá truoctran giao dịch tụt hậu so với lịch trình nhiều hơnGiới hạn
MS, và do đó soi kèo bóng đá truoctran có hy vọng đáp ứng giới hạn độ trễ, hoàn toàn soi kèo bóng đá truoctran được gửi đến máy chủ. Chúng được tính và báo cáo riêng làBỏ qua.
Khi--Max-Tries
Tùy chọn được sử dụng, một giao dịch không thành công do dị thường tuần tự hóa hoặc từ bế tắc sẽ không được thử lại nếu tổng thời gian của tất cả soi kèo bóng đá truoctran lần thử của nó lớn hơnGiới hạn
MS. Để chỉ giới hạn thời gian thử và soi kèo bóng đá truoctran phải số của họ, hãy sử dụng--Max-Tries = 0
. Theo mặc định, tùy chọn--Max-Tries
được đặt thành 1 và soi kèo bóng đá truoctran giao dịch có lỗi tuần tự hóa/bế tắc không được thử lại. Nhìn thấyThất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin về việc thử lại soi kèo bóng đá truoctran giao dịch đó.
-M
QueryMode
--Protocol =
QueryMode
#soi kèo bóng đá truoctran thức sử dụng để gửi truy vấn đến máy chủ:
đơn giản
: Sử dụng soi kèo bóng đá truoctran thức truy vấn đơn giản.
mở rộng
: Sử dụng soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran câu lệnh đã chuẩn bị.
soi kèo bóng đá truoctranChuẩn bị
MODE,PGBenchTái sử dụng kết quả phân tích phân tích bắt đầu từ lần lặp truy vấn thứ hai, vì vậyPGBenchChạy nhanh hơn soi kèo bóng đá truoctran chế độ khác.
Mặc định là soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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 một kịch bản kiểm tra tùy chỉnh không bao gồm soi kèo bóng đá truoctran 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ễ soi kèo bóng đá truoctran, độ lệch chuẩn và số lượng soi kèo bóng đá truoctran thất bại 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 giao dịch, soi kèo bóng đá truoctran phải là thời gian bắt đầu giao dịch thực tế, do đó nó cũng bao gồm thời gian trễ lịch trình trung bình. Khi--Max-Tries
được sử dụng để cho phép thử lại soi kèo bóng đá truoctran sau khi tuần tự hóa/bế tắc
-R
#Báo cáo soi kèo bóng đá truoctran số liệu thống kê sau cho mỗi lệnh sau khi kết thúc điểm chuẩn: độ trễ trung bình trên mỗi lần (thời gian thực hiện từ quan điểm của khách hàng), số lần thất bại và số lần thử lại sau khi nối tiếp hoặc sử dụng lỗi trong lệnh này. Báo cáo chỉ hiển thị số liệu thống kê thử lại nếu--Max-Tries
Tùy chọn soi kèo bóng đá truoctran bằng 1.
-R
Rate
--Rate =
Rate
#Thực hiện soi kèo bóng đá truoctran giao dịch nhắm mục tiêu tỷ lệ được chỉ định thay vì chạy càng nhanh càng tốt (mặc định). Tỷ lệ được đưa ra trong soi kèo bóng đá truoctran giao dịch mỗi giây.
Tỷ lệ được nhắm mục tiêu bằng cách bắt đầu soi kèo bóng đá truoctran 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ễ soi kèo bóng đá truoctran đượ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 soi kèo bóng đá truoctran phải chờ soi kèo bóng đá truoctran 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 đến mức đã 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. soi kèo bóng đá truoctran 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ý soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctranPGBenchđầu ra. Với soi kèo bóng đá truoctran 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ỌN CHỈ
.
-T
soi kèo bóng đá truoctran
--TransActions =
soi kèo bóng đá truoctran
#Số lượng soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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. soi kèo bóng đá truoctran 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 của 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.
--Exit-on-Abort
#Thoát ngay khi bất kỳ máy khách nào bị hủy bỏ do một số lỗi. Không có tùy chọn này, ngay cả khi khách hàng bị hủy bỏ, soi kèo bóng đá truoctran máy khách khác có thể tiếp tục chạy theo quy định của-T
hoặc-T
Tùy chọn vàPGBenchSẽ in một kết quả soi kèo bóng đá truoctran đầy đủ trong trường hợp này.
Lưu ý rằng soi kèo bóng đá truoctran thất bại tuần tự hóa hoặc thất bại bế tắc không phá thai của khách hàng, vì vậy chúng không bị ảnh hưởng bởi tùy chọn này. Nhìn thấyThất bại và tuần tự hóa/lần thử lạiĐể biết thêm thông tin.
--Failures-Detailed
#Báo cáo thất bại trong nhật ký tổng hợp và tổng hợp, cũng như trong soi kèo bóng đá truoctran báo cáo chính và mỗi kịch bản, được nhóm theo soi kèo bóng đá truoctran loại sau:
Thất bại tuần tự hóa;
thất bại;
xemThất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin.
--log-prefix =tiền tố
#Đặt tiền tố tệp cho soi kèo bóng đá truoctran tệp nhật ký được tạo bởi--log
. Mặc định làpgbench_log
.
--Max-Tries =number_of_tries
#Bật thử lại cho soi kèo bóng đá truoctran giao dịch có lỗi tuần tự hóa/bế tắc và đặt số lượng tối đa của soi kèo bóng đá truoctran lần thử này. Tùy chọn này có thể được kết hợp với--Latency-Limit
Tùy chọn giới hạn tổng thời gian của tất cả soi kèo bóng đá truoctran lần thử giao dịch; Hơn nữa, bạn không thể sử dụng một số lần thử không giới hạn (--Max-Tries = 0
) soi kèo bóng đá truoctran có-Latency-Limit
hoặc-thời gian
. Giá trị mặc định là 1 và soi kèo bóng đá truoctran giao dịch có lỗi tuần tự hóa/bế tắc không được thử lại.Thất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin về việc thử lại soi kèo bóng đá truoctran giao dịch đó.
-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 soi kèo bóng đá truoctran và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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran có) hoặc giá trị số nguyên thập phân soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran). 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ả soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran cách rõ ràng cho phép tái tạo soi kèo bóng đá truoctranPGBench
Chạy chính xác, theo như soi kèo bóng đá truoctran 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à soi kèo bóng đá truoctran có phụ thuộc 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 soi kèo bóng đá truoctran đượ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 soi kèo bóng đá truoctran giá trị TPS, bạn cần nhân soi kèo bóng đá truoctran 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ế).
--Show-script =
scriptName
#Hiển thị mã thực tế của tập lệnh tích hợpScriptName
trên stderr và thoát ngay lập tức.
#In tin nhắn về tất cả soi kèo bóng đá truoctran lỗi và lỗi (lỗi mà không thử lại) bao gồm giới hạn để thử lại đã vượt quá và mức độ vượt quá đối với soi kèo bóng đá truoctran lỗi tuần tự hóa/bế tắc. (Lưu ý rằng trong trường hợp này, đầu ra có thể tăng đáng kể.) XemThất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin.
PGBenchCũng chấp nhận soi kèo bóng đá truoctran đối số dòng lệnh chung sau đây cho soi kèo bóng đá truoctran tham số kết nối và soi kèo bóng đá truoctran cài đặt phổ biến khác:
-Debug
#Đầu ra gỡ lỗi in.
-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.
Chạy thành công sẽ thoát với trạng thái 0. Trạng thái thoát 1 cho biết soi kèo bóng đá truoctran vấn đề tĩnh như soi kèo bóng đá truoctran tùy chọn dòng lệnh không hợp lệ hoặc soi kèo bóng đá truoctran lỗi nội bộ được cho là không bao giờ xảy ra. soi kèo bóng đá truoctran lỗi sớm xảy ra khi bắt đầu điểm chuẩn như lỗi kết nối ban đầu cũng thoát theo trạng thái 1. Lỗi trong quá trình chạy như lỗi cơ sở dữ liệu hoặc soi kèo bóng đá truoctran vấn đề trong tập lệnh sẽ dẫn đến trạng thái thoát 2. Trong trường hợp sau,PGBenchSẽ in kết quả soi kèo bóng đá truoctran phần nếu--Exit-on-Abort
Tùy chọn soi kèo bóng đá truoctran được chỉ định.
pgdatabase
PGHOST
PGPORT
PGUSER
#Tham số kết nối mặc định.
Tiện ích này, giống như hầu hết soi kèo bóng đá truoctran khácPOSTGRESQLTiện ích, sử dụng soi kèo bóng đá truoctran biến môi trường được hỗ trợ bởilibpq(xemPhần 32.15).
Biến môi trườngpg_color
Chỉ định có nên sử dụng màu trong soi kèo bóng đá truoctran thông báo chẩn đoán hay không. soi kèo bóng đá truoctran giá trị có thể làluôn luôn
, Auto
vàsoi kèo bóng đá truoctran bao giờ
.
PGBenchThực thi soi kèo bóng đá truoctran tập lệnh kiểm tra được chọn ngẫu nhiên từ một danh sách được chỉ định. soi kèo bóng đá truoctran tập lệnh có thể bao gồm soi kèo bóng đá truoctran tập lệnh tích hợp được chỉ định với-B
và soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran trọng số tương đối được chỉ định sau soi kèo bóng đá truoctran@
để 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 soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran đượ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 soi kèo bóng đá truoctran thực sự là TPC-B, do đó tên.
Bắt đầu;
55676_55752
Chọn Abalance từ PGBench_Accounts WHERE AID =: AID;
Cập nhật pgbench_tellers đặt tbalance = tbalance +: delta soi kèo bóng đá truoctran đó tid =: tid;
Cập nhật pgbench_branches đặt bbalance = bbalance +: delta soi kèo bóng đá truoctran đó giá thầu =: giá thầu;
Chèn vào soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran 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ỌN CHỈ
tích hợp (cũng-S
), ChỉChọn
được ban hành.
57179_57188có hỗ trợ chạy soi kèo bóng đá truoctran 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). soi kèo bóng đá truoctran trường hợp này Asoi kèo bóng đá truoctranđược tính là soi kèo bóng đá truoctran 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. soi kèo bóng đá truoctran đường và đường trống bắt đầu bằng--
bị bỏ qua. Tệp tập lệnh cũng có thể chứaHồilệnh meta, được giải thích bởiPGBenchchính nó, như được mô tả bên dưới.
trướcPostgreSQL9.6, soi kèo bóng đá truoctran lệnh SQL trong soi kèo bóng đá truoctran tệp script đã bị chấm dứt bởi Newlines và do đó chúng không thể được tiếp tục trên soi kèo bóng đá truoctran dòng. Bây giờ là một dấu chấm phẩy làYêu cầuĐể tách soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran dòng kết thúc bằng dấu chấm phẩy.
giả định rằngPGBenchsoi kèo bóng đá truoctran tập lệnh không chứa soi kèo bóng đá truoctran khối giao dịch SQL không đầy đủ. Nếu vào thời gian chạy, máy khách đến cuối tập lệnh mà không hoàn thành khối giao dịch cuối cùng, nó sẽ bị hủy bỏ.
Có một cơ sở thay thế biến đơn giản cho soi kèo bóng đá truoctran tệp script. Tên biến phải bao gồm soi kèo bóng đá truoctran chữ cái (bao gồm soi kèo bóng đá truoctran 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 bởi soi kèo bóng đá truoctran 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ó soi kèo bóng đá truoctran vài biến được đặt trước tự động, được liệt kê trongBảng 298. Một giá trị được chỉ định cho soi kèo bóng đá truoctran biến này bằng cách sử dụng-D
được ưu tiên hơn soi kèo bóng đá truoctran 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.PGBenchHỗ trợ tối đa 255 Biến sử dụng trong soi kèo bóng đá truoctran câu.
Bảng 298. Biến tự động PGBench
biến | Mô tả |
---|---|
client_id |
Số duy nhất Xác định phiên khách (bắt đầu từ số 0) |
default_seed |
Hạt giống được sử dụng trong soi kèo bóng đá truoctran hàm hoán vị băm và giả và giả 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 |
soi kèo bóng đá truoctran lệnh meta tập tin tập lệnh 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 thêm soi kèo bóng đá truoctran dòng bổ sung bằng cách viết ngược lại. soi kèo bóng đá truoctran đối số cho một lệnh meta được phân tách bằng không gian trắng.
\ GSET [tiền tố
]
\ ASET [tiền tố
]
#soi kèo bóng đá truoctran lệnh này có thể được sử dụng để kết thúc soi kèo bóng đá truoctran truy vấn SQL, thay thế dấu chấm chấm chấm dứt (;
).
Khi\ GSET
Lệnh được sử dụng, truy vấn SQL trước dự kiến sẽ trả về một hàng, soi kèo bóng đá truoctran cột được lưu trữ thành soi kèo bóng đá truoctran biến được đặt tên theo tên cột và được đặt trước vớitiền tố
Nếu được cung cấp.
Khi\ ASET
Lệnh được sử dụng, tất cả soi kèo bóng đá truoctran truy vấn SQL kết hợp (được phân tách bởi\;
) Có soi kèo bóng đá truoctran cột được lưu trữ thành soi kèo bóng đá truoctran biến được đặt tên theo tên cột và có tiền tố vớitiền tố
Nếu được cung cấp. Nếu một truy vấn trả về soi kèo bóng đá truoctran có hàng, soi kèo bóng đá truoctran có bài tập nào được thực hiện và biến có thể được kiểm tra cho sự tồn tại để phát hiện điều này.
\ GSET
và\ ASET
Không thể được sử dụng trong chế độ đường ống, vì kết quả truy vấn chưa có sẵn vào thời điểm soi kèo bóng đá truoctran lệnh sẽ cần chúng.
Ví dụ sau đây đặt số dư tài khoản cuối cùng từ truy vấn đầu tiên vào biếnAbalance
và điền soi kèo bóng đá truoctran biếnP_TWO
vàp_three
với số nguyên từ truy vấn thứ ba. Kết quả của truy vấn thứ hai bị loại bỏ.bốn
vànăm
.
Cập nhật PGBench_Accounts
\ if
Biểu thức
\ Elif
Biểu thức
\ other
\ endif
#Nhóm lệnh này thực hiện soi kèo bóng đá truoctran khối điều kiện có thể làm tổ, tương tự nhưPSQL
's\ if
Biểu thức
. Biểu thức có điều kiện giống hệt với soi kèo bóng đá truoctran biểu thức có\ set
, với soi kèo bóng đá truoctran giá trị khác không được hiểu là đúng.
\ setvarname
Biểu thức
#Đặ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 soi kèo bóng đá truoctran biến:
variablename
, toán tửVới sự ư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.
soi kèo bóng đá truoctran chức năng và hầu hết soi kèo bóng đá truoctran toán tử trở lạinull
trênnull
Đầu vào.
Đối với mục đích có điều kiện, soi kèo bóng đá truoctran giá trị số không phải là làTRUE
, Giá trị số soi kèo bóng đá truoctran vànull
làSai
.
soi kèo bóng đá truoctran hằng số nguyên và nhỏ quá lớn hoặc nhỏ, cũng như soi kèo bóng đá truoctran toán tử số nguyên số nguyên (+
, -
, *
và/
) Tăng lỗi trên tràn.
Khi soi kèo bóng đá truoctran 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ủ soi kèo bóng đá truoctran thời lượng được chỉ định tính bằng micro giây (US
), miliseconds (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 soi kèo bóng đá truoctran biến có giá trị số nguyên.
Ví dụ:
\ Ngủ 10 ms
\ setshellvarname
lệnh
[Đối số
...]
#Đặt biếnvarname
với 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à soi kèo bóng đá truoctran hằng số văn bản hoặc:
variablename
tham chiếu đến soi kèo bóng đá truoctran biến. Nếu bạn muốn sử dụngĐối số
Bắt đầu bằng dấu hai chấm, viết thêm soi kèo bóng đá truoctran dấu hai chấm vào đầuĐối số
.
Ví dụ:
69234_69336
\ 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
\ startPipeline
\ SyncPipeline
\ EndPipeline
#Nhóm lệnh này thực hiện đường ống của soi kèo bóng đá truoctran câu lệnh SQL. Một đường ống phải bắt đầu bằng một\ startPipeline
và kết thúc bằng soi kèo bóng đá truoctran\ EndPipeline
. Ở giữa có thể có bất kỳ số nào\ SyncPipeline
soi kèo bóng đá truoctran lệnh, gửi ASync MessageKhông kết thúc đường ống đang diễn ra và xả bộ đệm gửi. Trong chế độ Pipeline, soi kèo bóng đá truoctran câu lệnh được gửi đến máy chủ mà không chờ kết quả của soi kèo bóng đá truoctran câu lệnh trước đó.Phần 32.5Để biết thêm chi tiết. Chế độ đường ống yêu cầu sử dụng soi kèo bóng đá truoctran thức truy vấn mở rộng.
soi kèo bóng đá truoctran toán tử số học, bitwise, so sánh và logic được liệt kê trongBảng 299được tích hợp vàoPGBenchvà có thể được sử dụng trong soi kèo bóng đá truoctran biểu thức xuất hiện trong\ set
. soi kèo bóng đá truoctran nhà khai thác được liệt kê theo thứ tự ưu tiên tăng.
Bảng 299. Toán tử PGBench
Nhà điều hành Mô tả Ví dụ (s) |
---|
logic hoặc
|
logic và
|
logic soi kèo bóng đá truoctran
|
Kiểm tra giá trị Boolean
|
thử nghiệm nullness
|
bằng
|
soi kèo bóng đá truoctran bằng
|
soi kèo bóng đá truoctran bằng
|
nhỏ hơn
|
nhỏ hơn hoặc bằng
|
lớn hơn
|
lớn hơn hoặc bằng
|
bitwise hoặc
|
BitWise XOR
|
bitwise và
|
bitwise soi kèo bóng đá truoctran
|
BitWise Shift trái
|
BitWise Shift Right
|
Bổ sung
|
Phép trừ
|
Nhân
|
Phân chia (cắt ngắn kết quả về 0 nếu cả hai đầu vào đều là số nguyên)
|
modulo (phần còn lại)
|
phủ định
|
soi kèo bóng đá truoctran chức năng được liệt kê trongBảng 300được tích hợp vàoPGBenchvà có thể được sử dụng trong soi kèo bóng đá truoctran biểu thức xuất hiện trong\ set
.
Bảng 300. Hàm PGBench
function Mô tả Ví dụ (s) |
---|
Giá trị tuyệt đối
|
In đối số thànhstderrvà trả về đối số.
|
đúc để tăng gấp đôi.
|
Số mũ (
|
Chọn giá trị lớn nhất trong số soi kèo bóng đá truoctran đối số.
|
Đây là bí danh cho
|
Tính toánFNV-1A Hash.
|
Tính toánmurmurhash2 băm.
|
đúc theo số nguyên.
|
Chọn giá trị nhỏ nhất trong số soi kèo bóng đá truoctran đối số.
|
logarit tự nhiên
|
modulo (phần còn lại)
|
Giá trị hoán vị của
|
Giá trị gần đúng củaπ
|
|
Tính toán số nguyên ngẫu nhiên được phân phối đồng đều soi kèo bóng đá truoctran
|
Tính toán số nguyên ngẫu nhiên được phân phối theo cấp số nhân soi kèo bóng đá truoctran
|
Tính toán số nguyên ngẫu nhiên do Gaussian phân phối soi kèo bóng đá truoctran
|
Tính toán số nguyên ngẫu nhiên do Zipfian phân phối soi kèo bóng đá truoctran
|
căn bậc hai
|
Thengẫu nhiên
Hàm tạo ra soi kèo bóng đá truoctran giá trị bằng cách sử dụng phân phối đồng đều, đó là tất cả soi kèo bóng đá truoctran 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
soi kèo bóng đá truoctran 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ố
97878_97970tham số
, và sau đó chiếu lên số nguyên giữa soi kèo bóng đá truoctran 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ố
, soi kèo bóng đá truoctran giá trị thường xuyên hơn gầnmin
được truy cập và soi kèo bóng đá truoctran 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à soi kèo bóng đá truoctran 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ạ vào soi kèo bóng đá truoctran 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. soi kèo bóng đá truoctran 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-min+1))/
(2.0*PHI (tham số)-1)
sau đó giá trịi
giữamin
vàMax
Bao gồm được vẽ với xác suất:f (i + 0,5) - f (i - 0,5)
. Theo trực giác, càng lớntham số
, soi kèo bóng đá truoctran giá trị thường xuyên hơn gần giữa khoảng thời gian được rút ra và soi kèo bóng đá truoctran 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à soi kèo bóng đá truoctran người quan hệ0.5 / tham số
xung quanh trung bình và 95% ở giữa2.0 / tham số
, đó là soi kèo bóng đá truoctran người quan hệ1.0 / tham số
xung quanh 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 thời gian (tứ phân vị thứ hai và thứ ba). Tối thiểu cho phéptham số
Giá trị là 2.0.
Random_zipfian
Tạo phân phối Zipfian bị ràng buộc.tham số
Xác định cách phân phối sai lệch. Càng lớntham số
, soi kèo bóng đá truoctran giá trị thường xuyên hơn gần với đầu của khoảng thời gian được rút 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.
PGBenchS Triển khai dựa trên "Thế hệ biến đổi ngẫu nhiên soi kèo bóng đá truoctran đồng nhất", Luc Devroye, p. 550-551, Springer 1986. Do những hạn chế của thuật toán đó,tham số
Giá trị bị giới hạn soi kèo bóng đá truoctran phạm vi [1,001, 1000].
Khi thiết kế điểm chuẩn chọn soi kèo bóng đá truoctran hàng không đồng nhất, hãy lưu ý rằng soi kèo bóng đá truoctran hàng được chọn có thể tương quan với soi kèo bóng đá truoctran dữ liệu khác như ID từ trình tự hoặc thứ tự hàng vật lý, có thể làm lệch soi kèo bóng đá truoctran phép đo hiệu suất.
Để tránh điều này, bạn có thể muốn sử dụngpermute
Hàm hoặc một số bước bổ sung khác có hiệu ứng tương tự, để xáo trộn soi kèo bóng đá truoctran hàng đã chọn và xóa soi kèo bóng đá truoctran mối tương quan đó.
hàm bămHash
, Hash_murmur2
vàHash_fnv1a
Chấp nhận giá trị đầu vào và tham số hạt giống tùy chọn. Trong trường hợp hạt giống soi kèo bóng đá truoctran đượ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.
Permute
Chấp nhận giá trị đầu vào, kích thước và tham số hạt giống tùy chọn. Nó tạo ra một hoán vị giả của soi kèo bóng đá truoctran số nguyên trong phạm vi[0, size)
và trả về chỉ mục của giá trị đầu vào trong soi kèo bóng đá truoctran giá trị được hoán vị. Hoán vị được chọn được tham số hóa bởi hạt giống, mặc định là: default_seed
, nếu không được chỉ định. Không giống như soi kèo bóng đá truoctran hàm băm,Permute
Đảm bảo rằng không có va chạm hoặc lỗ hổng nào trong soi kèo bóng đá truoctran giá trị đầu ra. soi kèo bóng đá truoctran giá trị đầu vào bên ngoài khoảng thời gian được giải thích modulo kích thước.permute
có thể được sử dụng để phân tán phân phối soi kèo bóng đá truoctran hàm ngẫu nhiên không đồng nhất nhưRandom_zipfian
hoặcRandom_Exponential
để soi kèo bóng đá truoctran giá trị được rút ra thường xuyên hơn không được tương quan một cách tầm thường. Ví dụ, sau đâyPGBench105123_105267
\ Đặt kích thước 1000000
Trong một số trường hợp, một số phân phối riêng biệt là cần thiết soi kèo bóng đá truoctran tương quan với nhau và đây là khi tham số hạt giống tùy chọn có ích:
105600_105707
soi kèo bóng đá truoctran hành vi tương tự cũng có thể được xấp xỉ vớiHash
:
\ Đặt kích thước 1000000
Tuy nhiên, kể từHash
Tạo ra soi kèo bóng đá truoctran va chạm, một số giá trị sẽ không thể truy cập được và soi kèo bóng đá truoctran giá trị khác sẽ thường xuyên hơn dự kiến từ phân phối ban đầu.
Ví dụ, định nghĩa đầy đủ về soi kèo bóng đá truoctran TPC-B-giống tích hợp là:
\ Đặt Viện trợ ngẫu nhiên (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 soi kèo bóng đá truoctran hàng khác nhau, được chọn ngẫu nhiên. .
với-L
Tùy chọn (nhưng soi kèo bóng đá truoctran có--Ggregate-Interval
Tùy chọn),PGBenchViết thông tin về mỗi soi kèo bóng đá truoctran vào một tệp nhật ký. Tệp nhật ký sẽ được đặt tên
, soi kèo bóng đá truoctran đótiền tố
.nnn
tiền tố
Mặc định làpgbench_log
vànnn
là pid củaPGBenchQuy trình. Tiền tố có thể được thay đổi bằng cách 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ư soi kèo bóng đá truoctran trường hợp công nhân đơn tiêu chuẩn.
, soi kèo bóng đá truoctran đótiền tố
.nnn
.MMM
MMM
là số tuần tự cho mỗi công nhân bắt đầu với 1.
Mỗi dòng trong một tệp nhật ký mô tả một giao dịch. Nó chứa soi kèo bóng đá truoctran trường phân tách không gian sau:
client_id
Xác định phiên khách chạy soi kèo bóng đá truoctran
soi kèo bóng đá truoctran dịch_no
Đếm số lượng soi kèo bóng đá truoctran đã được thực hiện bởi phiên đó
thời gian
Thời gian trôi qua của soi kèo bóng đá truoctran, tính bằng micro giây
script_no
Xác định tệp tập lệnh được sử dụng cho soi kèo bóng đá truoctran (hữu ích khi nhiều tập lệnh được chỉ định với-f
hoặc-B
)
Time_epoch
Thời gian hoàn thành của soi kèo bóng đá truoctran, dưới dạng tem thời gian unix-epoch
time_us
Phần thứ hai của thời gian hoàn thành soi kèo bóng đá truoctran, tính bằng micro giây
Lịch trình_lag
Độ trễ bắt đầu soi kèo bóng đá truoctran, đó là sự khác biệt giữa thời gian bắt đầu theo lịch trình của soi kèo bóng đá truoctran và thời gian nó thực sự bắt đầu, trong micro giây (chỉ có mặt nếu--Rate
được chỉ định)
Retries
Đếm thử lại sau khi tuần tự hóa hoặc lỗi bế tắc trong khi soi kèo bóng đá truoctran (chỉ có mặt nếu--Max-Tries
soi kèo bóng đá truoctran bằng một)
Khi cả hai--Rate
và--Latency-Limit
được sử dụng,thời gian
Đối với soi kèo bóng đá truoctran bị bỏ qua sẽ được báo cáo làBỏ qua
. Nếu soi kèo bóng đá truoctran kết thúc bằng một lỗi, nóthời gian
sẽ được báo cáo làsoi kèo bóng đá truoctran thành công
. Nếu bạn sử dụng--Failures-Detailed
Tùy chọn, Thethời gian
của soi kèo bóng đá truoctran thất bại sẽ được báo cáo làtuần tự hóa
hoặcbế tắc
Tùy thuộc vào loại thất bại (xemThất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin).
Đây là soi kèo bóng đá truoctran đoạn của tệp nhật ký được tạo trong soi kèo bóng đá truoctran 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
soi kèo bóng đá truoctran 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, soi kèo bóng đá truoctran 82 đã trễ, vì độ trễ của nó (6.173 ms) đã vượt quá giới hạn 5 ms. Hai soi kèo bóng đá truoctran tiếp theo đã bị bỏ qua, vì chúng đã bị trễ trước khi chúng bắt đầu.
Ví dụ sau đây cho thấy một đoạn của tệp nhật ký với soi kèo bóng đá truoctran lỗi và thử lại, với số lần thử tối đa được đặt thành 10 (lưu ý bổ sungRetries
cột):
3 0 47423 0 1499414498 34501 3
Nếu--Failures-Detailed
Tùy chọn được sử dụng, loại lỗi được báo cáo soi kèo bóng đá truoctranThời gian
như thế này:
3 0 47423 0 1499414498 34501 3
Khi chạy thử nghiệm dài về phần cứng có thể xử lý nhiều giao dịch, soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran ngẫu nhiên.
với--Ggregate-Interval
Tùy chọn, một định dạng khác được sử dụng cho soi kèo bóng đá truoctran tệp nhật ký. Mỗi dòng nhật ký mô tả một khoảng thời gian tổng hợp.
interval_start
Thời gian bắt đầu của khoảng thời gian, dưới dạng tem thời gian unix-epoch
num_transactions
Số lượng soi kèo bóng đá truoctran trong khoảng thời gian
sum_latency
Tổng độ trễ soi kèo bóng đá truoctran
sum_latency_2
tổng bình phương của độ trễ soi kèo bóng đá truoctran
min_latency
Độ trễ soi kèo bóng đá truoctran tối thiểu
Max_Latency
Độ trễ soi kèo bóng đá truoctran tối đa
sum_lag
tổng của sự chậm trễ bắt đầu giao dịch (soi kèo bóng đá truoctran trừ khi--Rate
được chỉ định)
sum_lag_2
Tổng số bình phương của sự chậm trễ bắt đầu giao dịch (soi kèo bóng đá truoctran trừ khi--Rate
được chỉ định)
min_lag
Độ trễ bắt đầu soi kèo bóng đá truoctran tối thiểu (0 trừ khi--Rate
được chỉ định)
MAX_LAG
Độ trễ bắt đầu soi kèo bóng đá truoctran tối đa (0 trừ khi--Rate
được chỉ định)
Bỏ qua
Số lượng giao dịch bị bỏ qua vì họ đã bắt đầu quá muộn (soi kèo bóng đá truoctran trừ khi--Rate
và-Latency-Limit
được chỉ định)
đã lại
Số lượng giao dịch được thử lại (soi kèo bóng đá truoctran trừ khi--Max-Tries
soi kèo bóng đá truoctran bằng một)
Retries
Số lần thử lại sau khi tuần tự hóa hoặc lỗi bế tắc (soi kèo bóng đá truoctran trừ khi--Max-Tries
soi kèo bóng đá truoctran bằng một)
serialization_failures
Số lượng giao dịch bị lỗi tuần tự hóa và soi kèo bóng đá truoctran được thử lại sau đó (soi kèo bóng đá truoctran trừ khi--Failures-Detailed
được chỉ định)
deadlock_failures
Số lượng giao dịch có lỗi bế tắc và soi kèo bóng đá truoctran được thử lại sau đó (soi kèo bóng đá truoctran trừ khi--Failures-Detailed
được chỉ định)
Đây là soi kèo bóng đá truoctran số ví dụ đầu ra được tạo với tùy chọn này:
117936_118068
1650260552 5178 26171317 177284491527 1136 44462 2647617 7321113867 0 9866 64 7564 28340 4148 0
1650260562 4808 25573984 220121792172 1171 62083 3037380 9666800914 0 9998 598 7392 26621 4527 0
Lưu ý rằng trong khi định dạng nhật ký đơn giản (soi kèo bóng đá truoctran phân chia) hiển thị tập lệnh nào được sử dụng cho mỗi giao dịch, định dạng tổng hợp thì soi kèo bóng đá truoctran. 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 soi kèo bóng đá truoctran số liệu thống kê sau cho mỗi câu lệnh:
độ trễ
- Thời gian soi kèo bóng đá truoctran đã trôi qua cho mỗi câu lệnh.PGBenchBáo cáo giá trị trung bình của tất cả soi kèo bóng đá truoctran lần chạy thành công của câu lệnh.
Số lượng thất bại soi kèo bóng đá truoctran câu lệnh này. Nhìn thấyThất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin.
Số lần thử lại sau khi tuần tự hóa hoặc lỗi bế tắc soi kèo bóng đá truoctran câu lệnh này. Nhìn thấyThất bại và tuần tự hóa/bế tắc lạiĐể biết thêm thông tin.
Báo cáo chỉ hiển thị số liệu thống kê thử lại nếu--Max-Tries
Tùy chọn soi kèo bóng đá truoctran bằng 1.
Tất cả soi kèo bóng đá truoctran giá trị được tính toán cho mỗi câu lệnh được thực hiện bởi mỗi máy khách và được báo cáo 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 soi kèo bóng đá truoctran ... kết thúc.
Một ví dụ khác về đầu ra cho tập lệnh mặc định bằng cách sử dụng cấp độ phân lập soi kèo bóng đá truoctran mặc định có thể nối tiếp (pgoptions = '-c default_transaction_isolation = serializable' pgbench ...
):
Khởi động chân soi kèo bóng đá truoctran ... kết thúc.
Nếu nhiều tệp tập lệnh được chỉ định, tất cả soi kèo bóng đá truoctran số liệu thống kê đượ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 soi kèo bóng đá truoctran TPS được tính toán.
Khi thực hiệnPGBench, Có ba loại lỗi chính:
Lỗi của chương trình chính. Họ là người nghiêm túc nhất và luôn dẫn đến soi kèo bóng đá truoctran lối thoát ngay lập tức từPGBenchVới thông báo lỗi tương ứng. Họ bao gồm:
Lỗi ở đầuPGBench(ví dụ: giá trị tùy chọn soi kèo bóng đá truoctran hợp lệ);
Lỗi trong chế độ khởi tạo (ví dụ: truy vấn để tạo bảng cho soi kèo bóng đá truoctran tập lệnh tích hợp không thành công);
Lỗi trước khi bắt đầu soi kèo bóng đá truoctran luồng (ví dụ: không thể kết nối với máy chủ cơ sở dữ liệu, lỗi cú pháp trong lệnh meta, lỗi tạo luồng);
Nội bộPGBenchlỗi (được cho là soi kèo bóng đá truoctran bao giờ xảy ra ...).
Lỗi khi luồng quản lý máy khách của mình (ví dụ: máy khách không thể khởi động kết nối với máy chủ cơ sở dữ liệu / ổ cắm để kết nối máy khách với máy chủ cơ sở dữ liệu đã không hợp lệ). Trong những trường hợp như vậy, tất cả soi kèo bóng đá truoctran khách hàng của chủ đề này dừng lại trong khi soi kèo bóng đá truoctran chủ đề khác tiếp tục hoạt động.--Exit-on-Abort
được chỉ định, tất cả soi kèo bóng đá truoctran luồng dừng ngay lập tức trong trường hợp này.
Lỗi khách hàng trực tiếp. Họ dẫn đến thoát ngay lập tức khỏiPGBenchVới thông báo lỗi tương ứng soi kèo bóng đá truoctran trường hợp nội bộPGBenchLỗi (được cho là soi kèo bóng đá truoctran bao giờ xảy ra ...) hoặc khi--Exit-on-Abort
được chỉ định. Mặt khác, trong trường hợp xấu nhất, họ chỉ dẫn đến việc phá thai của khách hàng thất bại trong khi soi kèo bóng đá truoctran khách hàng khác tiếp tục chạy (nhưng một số lỗi của khách hàng được xử lý mà không phá thai của khách hàng và báo cáo riêng, xem bên dưới).PGBenchlỗi.
Chạy của khách hàng bị hủy bỏ trong trường hợp có lỗi nghiêm trọng; Ví dụ: kết nối với máy chủ cơ sở dữ liệu đã bị mất hoặc kết thúc của tập lệnh mà soi kèo bóng đá truoctran hoàn thành giao dịch cuối cùng."soi kèo bóng đá truoctran" thực sự được thực hiện trong PGBench?Để biết thêm thông tin). soi kèo bóng đá truoctran giao dịch có lỗi tuần tự hóa hoặc bế tắc được lặp lại sau khi rollback cho đến khi chúng hoàn thành thành công hoặc đạt được số lần thử tối đa (được chỉ định bởi--Max-Tries
Tùy chọn) / Thời gian thử lại tối đa (được chỉ định bởi-Latency-Limit
Tùy chọn) / phần cuối của điểm chuẩn (được chỉ định bởi-thời gian
Tùy chọn). Nếu lần chạy thử cuối cùng thất bại, giao dịch này sẽ được báo cáo là thất bại nhưng khách hàng soi kèo bóng đá truoctran bị hủy bỏ và tiếp tục hoạt động.
mà soi kèo bóng đá truoctran cần chỉ định--Max-Tries
Tùy chọn, một giao dịch sẽ soi kèo bóng đá truoctran bao giờ được thử lại sau khi tuần tự hóa hoặc lỗi bế tắc vì giá trị mặc định của nó là 1. Sử dụng số lần thử soi kèo bóng đá truoctran giới hạn (--Max-Tries = 0
) và-Latency-Limit
Tùy chọn chỉ giới hạn thời gian tối đa của soi kèo bóng đá truoctran lần thử. Bạn cũng có thể sử dụng-Thời gian
Tùy chọn giới hạn thời lượng điểm chuẩn theo số lần thử soi kèo bóng đá truoctran giới hạn.
128404_128575
Hãy cẩn thận khi lặp lại soi kèo bóng đá truoctran giao dịch với soi kèo bóng đá truoctran lệnh shell. Không giống như kết quả của soi kèo bóng đá truoctran lệnh SQL, kết quả của soi kèo bóng đá truoctran lệnh shell không được quay lại, ngoại trừ giá trị biến của\ setshell
lệnh.
Độ trễ của một giao dịch thành công bao gồm toàn bộ thời gian thực hiện giao dịch với rollbacks và retries. Độ trễ chỉ được đo cho soi kèo bóng đá truoctran giao dịch và lệnh thành công nhưng không phải cho soi kèo bóng đá truoctran giao dịch hoặc lệnh không thành công.
Báo cáo chính chứa số lượng soi kèo bóng đá truoctran thất bại. Nếu--Max-Tries
Tùy chọn không bằng 1, báo cáo chính cũng chứa soi kèo bóng đá truoctran số liệu thống kê liên quan đến thử lại: Tổng số giao dịch được thử lại và tổng số lần thử lại. Báo cáo trên mỗi kịch bản kế thừa tất cả soi kèo bóng đá truoctran trường này từ báo cáo chính.--Max-Tries
Tùy chọn soi kèo bóng đá truoctran bằng 1.
Nếu bạn muốn nhóm thất bại theo soi kèo bóng đá truoctran loại cơ bản trong nhật ký tổng hợp và tổng hợp, cũng như trong soi kèo bóng đá truoctran báo cáo chính và trên mỗi kịch bản, sử dụng--Failures-Detailed
Tùy chọn. Nếu bạn cũng muốn phân biệt tất cả soi kèo bóng đá truoctran lỗi và lỗi (lỗi mà không thử lại) theo loại bao gồm cả giới hạn để thử lại đã vượt quá và mức độ vượt quá của nó đối với soi kèo bóng đá truoctran lỗi tuần tự hóa/bế tắc, hãy sử dụng--verbose-errors
Tùy chọn.
Bạn có thể chỉ địnhPostgreSQL: Tài liệu: 17:Đối với soi kèo bóng đá truoctran bảng PGBench. Biến môi trườngpgoptions
Chỉ định soi kèo bóng đá truoctran tùy chọn cấu hình cơ sở dữ liệu được chuyển sang PostgreSQL thông qua dòng lệnh (xemPhần 19.1.4). Ví dụ: phương thức truy cập bảng mặc định giả thuyết cho soi kèo bóng đá truoctran bảng mà PGBench tạo ra được gọi làWuzza
có thể được chỉ định với:
pgoptions = '-c default_table_access_method = wuzza'
Nó rất dễ sử dụngPGBenchĐể tạo ra soi kèo bóng đá truoctran 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,soi kèo bóng đá truoctran bao giờTin bất kỳ bài kiểm tra nào chỉ chạy soi kèo bóng đá truoctran và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 vài phút, để tăng tiếng ồn trung bình. Trong soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran, bạn sẽ chủ yếu là đo lường sự tranh chấp cập nhật.-S
hàng soi kèo bóng đá truoctranpgbench_branches
Bảng và mọi soi kèo bóng đá truoctran đều 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ờ soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran bảng được khởi tạo: tích lũy soi kèo bóng đá truoctran hàng chết và không gian chết trong soi kèo bóng đá truoctran 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ủaPGBenchlà chính nó có thể trở thành nút cổ chai khi cố gắng kiểm tra một số lượng lớn soi kèo bóng đá truoctran phiên khách. Điều này có thể được giảm bớt bằng cách chạyPGBenchTrên soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran sốPGBenchsoi kèo bóng đá truoctran phiên bản đồng thời, trên một số máy khách, đối với cùng một máy chủ cơ sở dữ liệu.
Nếu người dùng soi kèo bóng đá truoctran tin cậy có quyền truy cập vào cơ sở dữ liệu chưa áp dụngmẫu sử dụng lược đồ an toàn, soi kèo bóng đá truoctran chạyPGBenchsoi kèo bóng đá truoctran cơ sở dữ liệu đó.PGBenchSử dụng tên soi kèo bóng đá truoctran đủ tiêu chuẩn và soi kèo bóng đá truoctran thao tác đường dẫn tìm kiếm.
Nếu bạn thấy bất cứ điều gì trong tài liệu soi kèo bóng đá truoctran chính xác, soi kèo bóng đá truoctran khớpMẫu nàyĐể báo cáo vấn đề tài liệu.