Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng kèo bóng đá hom nay trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá hom nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá hom nayPGBench

tên

PGBench-Chạy bài kiểm tra điểm chuẩn trênPostgreSQL

Synopsis

PGBench -I[Tùy chọn...] [dbname]

PGBench[Tùy chọn​​...] [dbname]

Mô tả

PGBenchlà một chương trình đơn giản để chạy kèo bóng đá hom nay bài kiểm tra điểm chuẩn trênPOSTGRESQL. Nó chạy cùng một chuỗi kèo bóng đá hom nay 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). Theo mặc định,PGBenchKiểm tra kèo bóng đá hom nay kịch bản dựa trên TPC-B, liên quan đến nămChọn, Cập nhậtChènlệnh cho mỗi giao dịch. Tuy nhiên, thật dễ dàng để kiểm tra kèo bóng đá hom nay trường hợp khác bằng cách viết kèo bóng đá hom nay 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ư:

10382_10699

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 kèo bóng đá hom nay đã 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 kèo bóng đá hom nay trên mỗi khách hàng); Đây sẽ bằng nhau trừ khi chạy thất bại trước khi hoàn thành. (TRONG-TChế độ, 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 tính thời gian để bắt đầu kèo bóng đá hom nay phiên cơ sở dữ liệu.

Kiểm tra giao dịch TPC-B mặc định yêu cầu kèo bóng đá hom nay bảng cụ thể được thiết lập trước.PGBench11372_11402-I(Khởi tạo) Tùy chọn để tạo và điền vào kèo bóng đá hom nay bảng này. .

pgbench -i [ tùy chọn khác ]dbname

WHEREdbnamelà 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-UTùy chọn để chỉ định cách kết nối với máy chủ cơ sở dữ liệu.)

THẬN TRỌNG

pgbench -iTạo bốn bảngpgbench_accounts, pgbench_branches, pgbench_historypgbench_tellers, Phá hủy bất kỳ bảng hiện có nào của kèo bóng đá hom nay 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ó kèo bóng đá hom nay bảng có kèo bóng đá hom nay tên này!

tại mặc định"Yếu tố tỷ lệ"của 1, kèo bóng đá hom nay bảng ban đầu chứa nhiều hàng này:

Bảng # hàng
-------------------------------------
PGBench_Branches 1
PGBench_Tellers 10
PGBench_Accounts 100000
pgbench_history 0

Bạn có thể (và, cho hầu hết kèo bóng đá hom nay 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.

13186_13291-I, đó là

PGBench [ Tùy chọn ]dbname

Trong hầu hết kèo bóng đá hom nay 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. kèo bóng đá hom nay tùy chọn quan trọng nhất là-C(số lượng khách hàng),-T(số lượng kèo bóng đá hom nay),-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 đủ.

Tùy chọn

Sau đây được chia thành ba phần phụ: kèo bóng đá hom nay 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, một số tùy chọn rất hữu ích trong cả hai trường hợp.

Tùy chọn khởi tạo

PGBenchChấp nhận kèo bóng đá hom nay đối số khởi tạo dòng lệnh sau:

-I
--initialize

Yêu cầu gọi chế độ khởi tạo.

-f fillfactor
-fligfactor =fillfactor

Tạopgbench_accounts, pgbench_tellerspgbench_branchesBảng có chất độn đã cho. Mặc định là 100.

-N
--NO-VACUUM

Không thực hiện không hút bụi sau khi khởi tạo.

-Q
--quiet

Chuyển đổi ghi nhật ký sang chế độ yên tĩnh, chỉ tạo kèo bóng đá hom nay thông báo tiến trình mỗi 5 giây. Ghi nhật ký mặc định in kèo bóng đá hom nay 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 100sẽ tạo 10.000.000 hàng trongpgbench_accounts15664_15770AIDcột) sẽ chuyển sang sử dụng kèo bóng đá hom nay số nguyên lớn hơn (Bigint), để đủ lớn để giữ phạm vi nhận dạng tài khoản.

--Keys-Chốt

Tạo kèo bóng đá hom nay ràng buộc khóa nước ngoài giữa kèo bóng đá hom nay bảng tiêu chuẩn.

index_tablespace

Tạo kèo bóng đá hom nay 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 kèo bóng đá hom nay 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ả kèo bóng đá hom nay bảng dưới dạng kèo bóng đá hom nay bảng chưa được tính, thay vì kèo bóng đá hom nay bảng vĩnh viễn.

Tùy chọn điểm chuẩn

PGBenchChấp nhận kèo bóng đá hom nay đối số điểm chuẩn dòng sau:

-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 kèo bóng đá hom nay, 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
--Debug

​​Đầu ra gỡ lỗi in.

-D varname=giá trị
--DEFINE =varname=giá trị

Xác định kèo bóng đá hom nay biến để sử dụng bởi tập lệnh tùy chỉnh (xem bên dưới). Nhiều-DTùy chọn được cho phép.

-f FileName
--file =FileName

Đọc tập lệnh kèo bóng đá hom nay từFileName. Xem bên dưới để biết chi tiết.-N, -S-flà loại trừ lẫn nhau.

-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 kèo bóng đá hom nay máy đa CPU. Số lượng máy khách phải là bội số của số lượng luồng, vì mỗi luồng được cung cấp cùng một số phiên khách để quản lý. Mặc định là 1.

-L
--log

Viết thời gian được thực hiện bởi mỗi kèo bóng đá hom nay vào một 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

kèo bóng đá hom nay tồn tại nhiều hơngiới hạnmili giây được tính và báo cáo riêng, làmuộn.

Khi sử dụng điều chỉnh (--Rate = ...), kèo bóng đá hom nay giao dịch tụt hậu so với lịch trình nhiều hơngiới hạnMS, 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

kèo bóng đá hom nay thức sử dụng để gửi truy vấn đến máy chủ:

  • đơn giản: Sử dụng kèo bóng đá hom nay thức truy vấn đơn giản.

  • mở rộng: sử dụng kèo bóng đá hom nay 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 kèo bóng đá hom nay câu lệnh đã chuẩn bị.

20093_20138Chương 50Để 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ết​​Nếu bạn đang chạy một kịch bản kiểm tra tùy chỉnh không bao gồm kèo bóng đá hom nay bảng tiêu chuẩnPGBench_Accounts, 20560_20578, pgbench_historypgbench_tellers.

-N
--skip-some-updates

Không cập nhậtPGBench_Tellerspgbench_branches. Điều này sẽ tránh được sự tranh chấp cập nhật trên kèo bóng đá hom nay 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.

-P Sec
-ProTros =Sec

Hiển thị báo cáo tiến độ mỗiSecgiâ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ễ kèo bóng đá hom nay và độ lệch chuẩn kể từ báo cáo cuối cùng. Dưới sự điều chỉnh (-R), độ trễ được tính toán liên quan đến thời gian bắt đầu theo lịch trình kèo bóng đá hom nay, không phải là thời gian bắt đầu kèo bóng đá hom nay 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 khách hàng) 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 kèo bóng đá hom nay 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 kèo bóng đá hom nay giao dịch mỗi giây. Nếu tỷ lệ được nhắm mục tiêu cao hơn tỷ lệ tối đa có thể, giới hạn tỷ lệ sẽ không ảnh hưởng đến kết quả.

Tỷ lệ được nhắm mục tiêu bằng cách bắt đầu kèo bóng đá hom nay 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. Cách tiếp cận đó có nghĩa là khi kèo bóng đá hom nay giao dịch vượt qua thời gian kết thúc theo lịch trình ban đầu của họ, có thể kèo bóng đá hom nay giao dịch sau này có thể bắt kịp.

Khi điều chỉnh hoạt động, độ trễ kèo bóng đá hom nay đượ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 kèo bóng đá hom nay phải chờ kèo bóng đá hom nay 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. Độ trễ kèo bóng đá hom nay liên quan đến thời gian bắt đầu kèo bóng đá hom nay thực tế, tức là, thời gian thực hiện kèo bóng đá hom nay trong cơ sở dữ liệu, có thể được tính toán bằng cách trừ đi thời gian trễ lịch trình từ độ trễ được báo cáo.

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. kèo bóng đá hom nay 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.

23598_24067

-S scale_factor
--scale =scale_factor

Báo cáo hệ số tỷ lệ được chỉ định trongPGBenchđầu ra. Với kèo bóng đá hom nay bài kiểm tra tích hợp, điều này là không cần thiết; Hệ số tỷ lệ chính xác sẽ được phát hiện bằng cách đếm số lượng hàng trongpgbench_branchesBảng. Tuy nhiên, khi kiểm tra điểm chuẩn tùy chỉnh (-fTù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ỉ

Thực hiện kèo bóng đá hom nay giao dịch chỉ chọn thay vì kiểm tra-giống TPC-B.

-T kèo bóng đá hom nay
--TransActions =kèo bóng đá hom nay

Số lượng kèo bóng đá hom nay 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 kèo bóng đá hom nay cố định cho mỗi máy khách.-T-Tlà 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ó-Ncũng không-V, PGBenchSẽ hút bụipgbench_tellerspgbench_branchesBả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 cùng với-L- Với tùy chọn này, nhật ký chứa tóm tắt trên khoảng thời gian (số lượng kèo bóng đá hom nay, độ trễ tối thiểu/tối đa và hai trường bổ sung hữu ích cho ước tính phương sai).

Tùy chọn này hiện không được hỗ trợ trên Windows.

-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 giao dịch được chỉ định được ghi lại. 1.0 có nghĩa là tất cả kèo bóng đá hom nay giao dịch sẽ được ghi lại, 0,05 có nghĩa là chỉ 5% giao dịch sẽ đượ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 kèo bóng đá hom nay giá trị TPS, bạn cần nhân kèo bóng đá hom nay 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ế).

Tùy chọn chung

PGBenchChấp nhận kèo bóng đá hom nay đố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

In ThePGBenchPhiên bản và Thoát.

-?
--Help

Hiển thị trợ giúp vềPGBenchĐối số dòng lệnh và thoát.

ghi chú

là gì"kèo bóng đá hom nay"Thực tế được thực hiện trongPGBench?

Tập lệnh kèo bóng đá hom nay mặc định phát hành bảy lệnh cho mỗi kèo bóng đá hom nay:

  1. Bắt đầu;

  2. Cập nhật PGBench_Accounts Đặt Abalance = Abalance +: Delta WHERE AID =: AID;

  3. Chọn Abalance từ PGBench_Accounts WHERE AID =: AID;

  4. Cập nhật pgbench_tellers đặt tbalance = tbalance +: delta wher

  5. Cập nhật pgbench_branches đặt bbalance = bbalance +: delta trong đó giá thầu =: thầu;

  6. Chèn vào kèo bóng đá hom nay giá trị pgbench_history (tid, giá thầu, viện trợ, delta, mtime)

  7. end;

Nếu bạn chỉ định-N, Bước 4 và 5 không được bao gồm trong kèo bóng đá hom nay. Nếu bạn chỉ định-S, chỉChọnđược ban hành.

tập lệnh tùy chỉnh

PGBenchCó hỗ trợ chạy kèo bóng đá hom nay 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 (-fTùy chọn). Trong trường hợp này A"kèo bóng đá hom nay"được tính là kèo bóng đá hom nay lần thực hiện tệp tập lệnh. Bạn thậm chí có thể chỉ định nhiều tập lệnh (nhiều-fTùy chọn), trong trường hợp đó một trong những tập lệnh được chọn ngẫu nhiên mỗi khi phiên khách bắt đầu kèo bóng đá hom nay mới.

Định dạng của tệp tập lệnh là một lệnh sql trên mỗi dòng; kèo bóng đá hom nay lệnh SQL Multiline không được hỗ trợ. kèo bóng đá hom nay đường và đường trống bắt đầu bằng--bị bỏ qua. kèo bóng đá hom nay dòng tệp script cũng có thể là"kèo bóng đá hom nay lệnh meta", được giải thích bởiPGBenchBản thân nó, như được mô tả bên dưới.

Có một cơ sở thay thế biến đơn giản cho kèo bóng đá hom nay tệp script. kèo bóng đá hom nay biến có thể được đặt bởi dòng lệnh-DTùy chọn, được giải thích ở trên hoặc theo kèo bóng đá hom nay 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-D30660_30752Bảng 1. Một giá trị được chỉ định cho kèo bóng đá hom nay biến này bằng cách sử dụng-D30884_31007:variablename. Khi chạy nhiều phiên khách, mỗi phiên có bộ biến riêng.

Bảng 1. Biến tự động

Biến Mô tả
tỷ lệ Yếu tố tỷ lệ hiện tại
client_id Số duy nhất Xác định phiên khách (bắt đầu từ số 0)

kèo bóng đá hom nay lệnh meta tập tin tập lệnh bắt đầu bằng dấu gạch chéo ngược (\). kèo bóng đá hom nay đối số cho một lệnh meta được phân tách bằng không gian trắng. kèo bóng đá hom nay lệnh meta này được hỗ trợ:

\ setvarname Biểu thức

Đặt biếnvarnamevới giá trị số nguyên được tính từBiểu thức. Biểu thức có thể chứa kèo bóng đá hom nay hằng số nguyên như5432, tham chiếu đến kèo bóng đá hom nay biến:Variablename, và kèo bóng đá hom nay biểu thức bao gồm unary (-) hoặc toán tử nhị phân (+, -, *, /, %) với sự kết hợp thông thường của họ và dấu ngoặc đơn.

Ví dụ:

\ SET NTELLERS 10 *: Tỷ lệ
\ đặt viện trợ (1021 *: viện trợ) % (100000 *: tỷ lệ) + 1
\ SetRandomvarname min Max[Đồng phục | Gaussian | hàm mũtham số]

Đặt biếnvarnamevới giá trị số nguyên ngẫu nhiên giữa kèo bóng đá hom nay giới hạnminMax33150_33214:variablenametham chiếu đến kèo bóng đá hom nay biến có giá trị số nguyên.

Theo mặc định hoặc khiĐồng phụcđược chỉ định, tất cả kèo bóng đá hom nay giá trị trong phạm vi được vẽ với xác suất bằng nhau. Chỉ địnhGaussianhoặcSố mũTùy chọn sửa đổi hành vi này; Mỗi yêu cầu kèo bóng đá hom nay tham số bắt buộc xác định hình dạng chính xác của phân phối.

Đối với phân phối Gaussian, khoảng thời gian được ánh xạ kèo bóng đá hom nayo 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-Parameter33859_33878+tham số33911_34012PHI (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

34246_34387
(2.0*PHI (tham số)-1.0)

sau đó giá trịigiữaminMaxBao gồm được vẽ với xác suất:f (i + 0,5) - f (i - 0,5). Theo trực giác, lớn hơntham số, kèo bóng đá hom nay giá trị thường xuyên hơn gần giữa khoảng thời gian được rút ra và kèo bóng đá hom nay giá trị ít thường xuyên hơn gần vớiminMaxgiới hạn. Khoảng 67% giá trị được rút ra từ giữa1.0 / tham số, đó là kèo bóng đá hom nay người quan hệ0.5 / tham sốXung quanh giá trị trung bình và 95% ở giữa2.0 / tham số, đó là kèo bóng đá hom nay 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 (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.

Đối với phân phối theo cấp số nhân,tham số35808_35900tham số, và sau đó chiếu lên số nguyên giữa kèo bóng đá hom nay giới hạn. Để chính xác, với

f (x) = exp (-parameter*(x-min)/(max-min+1))/(1.0-exp (-parameter))

Sau đó, giá trịigiữaminmaxBao gồm được vẽ với xác suất:f (x) - f (x + 1). Theo trực giác, lớn hơntham số, kèo bóng đá hom nay giá trị thường xuyên hơn gầnminđược truy cập và kèo bóng đá hom nay giá trị ít thường xuyên hơn gầnmaxđược truy cập. Gần với 0tham số, Sự phẳng hơn (đồ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à kèo bóng đá hom nay giá trị 1% thường xuyên nhất trong phạm vi, gần vớimin, được vẽtham số% thời gian.tham sốGiá trị phải hoàn toàn dương.

Ví dụ:

37092_37134
\ ngủSố[chúng tôi | MS | s]

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), miliseconds (MS) hoặc giây (S37436_37494Sốcó thể là hằng số nguyên hoặc:variablenameTham chiếu đến kèo bóng đá hom nay biến có giá trị số nguyên.

Ví dụ:

\ Ngủ 10 ms
\ setshellvarname lệnh[Đối số...]

Đặt biếnvarnamevới kết quả của lệnh shelllệnh. Lệnh phải trả về giá trị số nguyên thông qua đầu ra tiêu chuẩn của nó.

Đối sốcó thể là kèo bóng đá hom nay hằng số văn bản hoặc:variablenametham chiếu đến kèo bóng đá hom nay biến của bất kỳ loại nào. Nếu bạn muốn sử dụngĐối sốBắt đầu với kèo bóng đá hom nay dấu chấm, bạn cần thêm một dấu hai chấm vào đầuĐối số.

Ví dụ:

38563_38663
\ shelllệnh[Đối số...]

giống như\ setshell, nhưng kết quả bị bỏ qua.

Ví dụ:

\ shell lệnh literal_argument: biến :: literal_starting_with_colon

Ví dụ, định nghĩa đầy đủ của kèo bóng đá hom nay TPC-B-giống tích hợp là:

\ Đặt nbranches: tỷ lệ
\ Đặt ntellers 10 *: tỷ lệ
\ Đặt Naccounts 100000 *: Tỷ lệ
\ Setrandom Aid 1: Naccounts
\ Setrandom BID 1: Nbranches
\ setrandom tid 1: ntellers
\ setrandom delta -5000 5000
BẮT ĐẦU;
Cập nhật PGBench_Accounts đặt Abalance = Abalance +: Delta WHERE viện trợ =: viện trợ;
Chọn Abalance từ pgbench_accounts trong đó viện trợ =: viện trợ;
Cập nhật pgbench_tellers đặt tbalance = tbalance +: delta trong đó tid =: tid;
Cập nhật PGBench_Branches Đặt BBalance = BBalance +: Delta WHERE BID =: BID;
Chèn kèo bóng đá hom nayo pgbench_history (tid, giá thầu, viện trợ, delta, mtime) giá trị (: tid,: giá thầu,: viện trợ,: delta, current_timestamp);
KẾT THÚC;

Tập lệnh này cho phép mỗi lần lặp lại giao dịch tham chiếu kèo bóng đá hom nay hàng khác nhau, được chọn ngẫu nhiên. .

Ghi nhật ký PER-Transaction

với-LTùy chọn nhưng không có--Ggregate-Interval, PGBenchViết thời gian được thực hiện bởi mỗi kèo bóng đá hom nay vào một tệp nhật ký. Tệp nhật ký sẽ được đặt tênpgbench_log.nnn, trong đónnnlà pid củaPGBenchQuá trình. Nếu-JTùy chọn là 2 hoặc cao hơn, tạo 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. kèo bóng đá hom nay tệp nhật ký bổ sung cho kèo bóng đá hom nay công nhân khác sẽ được đặt tênpgbench_log.nnn.MMM, trong đóMMMlà 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 kèo bóng đá hom nay dịch_no thời gian file_no time_epoch time_us[Lịch trình_lag]

WHEREthời gian41449_41507file_noXá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) vàtime_epoch/time_uslà dấu thời gian định dạng Epoch của Unix 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 kèo bóng đá hom nay hoàn thành. Cánh đồng41958_41972là sự khác biệt giữa thời gian bắt đầu theo lịch trình của kèo bóng đá hom nay và thời gian nó thực sự bắt đầu, tính bằng micro giây. Nó chỉ có mặt khi--RateTùy chọn được sử dụng. Khi cả hai--Rate--Latency-Limitđược sử dụng,thời gian42303_42352Bỏ qua.

Đây là kèo bóng đá hom nay đoạn của tệp nhật ký được tạo:

 0 199 2241 0 1175850568 995598
 0 200 2465 0 1175850568 998079
 0 201 2513 0 1175850569 608
 0 202 2038 0 1175850569 2663

42592_42669Lịch trình_lagcột):

0 81 4621 0 1412881037 912698 3005
 0 82 6173 0 1412881037 914578 4304
 0 83 Bỏ qua 0 1412881037 914578 5217
 0 83 Bỏ qua 0 1412881037 914578 5099
 0 83 4722 0 1412881037 916203 3108
 0 84 4142 0 1412881037 918023 2333
 0 85 2465 0 1412881037 919759 740

Trong ví dụ này, kèo bóng đá hom nay 82 đã trễ, vì độ trễ của nó (6.173 ms) đã vượt quá giới hạn 5 ms. Hai kèo bóng đá hom nay 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, kèo bóng đá hom nay tệp nhật ký có thể trở nên rất lớn. The-Sampling-RateTùy chọn có thể được sử dụng để chỉ ghi lại một mẫu kèo bóng đá hom nay ngẫu nhiên.

Ghi nhật ký tổng hợp

với--Ggregate-IntervalTùy chọn, nhật ký sử dụng kèo bóng đá hom nay chút định dạng khác nhau:

Interval_Start num_of_transactions 43792_43805 latency_2_sum min_latency Max_Latency[LAG_SUM LAG_2_SUM MIN_LAG MAX_LAG[Bỏ qua_transactions]]

WHERE44264_44280là khởi đầu của khoảng thời gian (tem định dạng Epoch Epoch),num_of_transactionslà số lượng kèo bóng đá hom nay trong khoảng thời gian,latency_sumlà kèo bóng đá hom nay tổng độ trễ (vì vậy bạn có thể tính toán độ trễ trung bình kèo bóng đá hom nay cách dễ dàng). Hai trường sau đây hữu ích cho ước tính phương sai -latency_sumlà kèo bóng đá hom nay tổng của độ trễ vàlatency_2_sumlà tổng của sức mạnh 2 của độ trễ. Hai trường tiếp theo làmin_latency- Độ trễ tối thiểu trong khoảng vàMax_Latency- Độ trễ tối đa trong khoảng thời gian. Một giao dịch được tính vào khoảng thời gian khi nó được thực hiện. kèo bóng đá hom nay trường cuối cùng,LAG_SUM, LAG_2_SUM, MIN_LAGMAX_LAG, chỉ có mặt nếu--RateTùy chọn được sử dụng. Cái cuối cùng,Bỏ qua_transactions, chỉ có mặt nếu tùy chọn--Latency-Limitcũng có mặt. Chúng được tính từ thời điểm mỗi kèo bóng đá hom nay 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 kèo bóng đá hom nay và thời gian nó thực sự bắt đầu.

Đây là 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) chứa tham chiếu đến kèo bóng đá hom nay tệp tập lệnh tùy chỉnh, bản ghi tổng hợp thì không. Do đó, nếu bạn cần mỗi dữ liệu tập lệnh, bạn cần phải tự mình tổng hợp dữ liệu.

46221_46246

với-RTù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 kèo bóng đá hom nay 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:

46638_47950

47958_48058

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 kèo bóng đá hom nay TPS được tính toán. Lượng chậm lại thay đổi đáng kể tùy thuộc vào nền tảng và phần cứng. So sánh kèo bóng đá hom nay giá trị TPS trung bình có và không có báo cáo độ trễ được kích hoạt là một cách tốt để đo xem chi phí thời gian có đáng kể không.

Thực hành tốt

Nó rất dễ sử dụngPGBenchĐể tạo ra kèo bóng đá hom nay 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 kèo bóng đá hom nayi giây. Sử dụng-Thoặc-TTùy chọn để thực hiện lần chạy kéo dài ít nhất một kèo bóng đá hom nayi 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. Bạn nên thử kiểm tra chạy một kèo bóng đá hom nayi lần, để tìm hiểu xem số của bạn có thể tái tạo hay không.

Đố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. Chỉ có-Shàng trongpgbench_branchesBảng và mọi kèo bóng đá hom nay đều muốn cập nhật một trong số đó, vì vậy-CGiá trị vượt quá-Schắc chắn sẽ dẫn đến rất nhiều giao dịch bị chặn chờ kèo bóng đá hom nay 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 kèo bóng đá hom nay bảng được khởi tạo: tích lũy kèo bóng đá hom nay hàng chết và không gian chết trong kèo bóng đá hom nay 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. Nếu Autovacuum được bật, nó có thể dẫn đến những thay đổi không thể đoán trước về hiệu suất đo được.

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 kèo bóng đá hom nay phiên khách. Điều này có thể được giảm bớt bằng cách chạyPGBenchTrên kèo bóng đá hom nay máy khác từ 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 kèo bóng đá hom nay sốPGBenchkèo bóng đá hom nay 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.

bảo mật

Nếu người dùng không tin cậy có quyền truy cập kèo bóng đá hom nayo 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.