PGBenchlà một chương trình đơn giản để chạy kèo bóng đá euro bài kiểm tra điểm chuẩn trên9744_9756. Nó chạy cùng một chuỗi kèo bóng đá euro 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 đá euro kịch bản dựa trên TPC-B, liên quan đến nămChọn, Cập nhậtvàChènlệnh cho mỗi giao dịch. Tuy nhiên, thật dễ dàng để kiểm tra kèo bóng đá euro trường hợp khác bằng cách viết kèo bóng đá euro 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_10716
Sáu dòng đầu tiên báo cáo kèo bóng đá euro số cài đặt tham số quan trọng nhất. Dòng tiếp theo báo cáo số lượng giao dịch đã 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 giao dịch 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 đá euro phiên cơ sở dữ liệu.
11259_11351PGBenchnên được gọi bằng-I(Khởi tạo) Tùy chọn để tạo và điền vào kèo bóng đá euro 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_historyvàpgbench_tellers, Phá hủy bất kỳ bảng hiện có nào của kèo bóng đá euro 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 đá euro bảng có kèo bóng đá euro tên này! |
Tại mặc định"Yếu tố tỷ lệ"của 1, kèo bóng đá euro 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 đá euro 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.
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 lệnh không bao gồm-I, đó là
PGBench [ Tùy chọn ]dbname
Trong hầu hết kèo bóng đá euro 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 đá euro 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 đá euro),-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 phần phụ: kèo bóng đá euro 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.
PGBenchChấp nhận kèo bóng đá euro đối số khởi tạo dòng lệnh sau:
Yêu cầu gọi chế độ khởi tạo.
Tạopgbench_accounts, pgbench_tellersvàpgbench_branchesBảng có chất độn đã cho. Mặc định là 100.
Không thực hiện không hút bụi sau khi khởi tạo.
Chuyển đổi đăng nhập sang chế độ yên tĩnh, chỉ tạo kèo bóng đá euro 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 đá euro 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).
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_accountsBảng. Mặc định là 1. Khi tỷ lệ là 20.000 hoặc lớn hơn, kèo bóng đá euro cột được sử dụng để giữ số nhận dạng tài khoản (AIDCột) sẽ chuyển sang sử dụng kèo bóng đá euro số nguyên lớn hơn (Bigint), để đủ lớn để giữ phạm vi nhận dạng tài khoản.
Tạo kèo bóng đá euro ràng buộc khóa nước ngoài giữa kèo bóng đá euro bảng tiêu chuẩn.
Tạo kèo bóng đá euro chỉ mục trong không gian bảng được chỉ định, thay vì không gian bảng mặc định.
Tạo kèo bóng đá euro bảng trong không gian bảng được chỉ định, thay vì không gian bảng mặc định.
Tạo tất cả kèo bóng đá euro bảng dưới dạng kèo bóng đá euro bảng chưa được tính, thay vì kèo bóng đá euro bảng vĩnh viễn.
PGBenchChấp nhận kèo bóng đá euro đối số điểm chuẩn dòng lệnh sau:
Thêm tập lệnh tích hợp được chỉ định vào danh sách kèo bóng đá euro tập lệnh sẽ được thực thi. kèo bóng đá euro tập lệnh tích hợp có sẵn là:TPCB giống như, Đơn giản updatevàChỉ chọn. Tiền tố rõ ràng của kèo bóng đá euro tên tích hợp được chấp nhận. Với tên đặc biệtDanh sách, Hiển thị danh sách kèo bóng đá euro 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 kèo bóng đá euro 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.
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.
Thiết lập kết nối mới cho mỗi giao dịch, thay vì thực hiện nó chỉ kèo bóng đá euro lần mỗi phiên khách. Điều này rất hữu ích để đo chi phí kết nối.
Đầu ra gỡ lỗi in.
Xác định kèo bóng đá euro biến được 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.
Thêm tập lệnh kèo bóng đá euro đọc từFileNameđến danh sách kèo bóng đá euro tập lệnh sẽ được thực thi.
Tùy chọn, viết trọng lượng số nguyên sau19074_19077Để điều chỉnh xác suất chọn tập lệnh này so với kèo bóng đá euro 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ồm19240_19243Nhân vậ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.
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 đá euro máy đa CPU. Khách hàng được phân phối đều càng tốt trong số kèo bóng đá euro chủ đề có sẵn. Mặc định là 1.
Viết thời gian được thực hiện bởi mỗi giao dịch kèo bóng đá euroo một tệp nhật ký. Xem bên dưới để biết chi tiết.
kèo bóng đá euro 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 đá euro giao dịch chậm trễ theo 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.
kèo bóng đá euro thức sử dụng để gửi truy vấn đến máy chủ:
đơn giản: Sử dụng kèo bóng đá euro thức truy vấn đơn giản.
Mở rộng: Sử dụng kèo bóng đá euro 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 đá euro câu lệnh đã chuẩn bị.
Mặc định là kèo bóng đá euro thức truy vấn đơn giản. (Nhìn thấyChương 51Để biết thêm thông tin.)
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 một kịch bản kiểm tra tùy chỉnh không bao gồm kèo bóng đá euro bảng tiêu chuẩnpgbench_accounts, pgbench_branches, pgbench_historyvàpgbench_tellers.
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.
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 đá euro 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 đá euro, không phải là thời gian bắt đầu kèo bóng đá euro thực tế, do đó nó cũng bao gồm thời gian trễ lịch trình trung bình.
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.
Thực hiện kèo bóng đá euro 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 đá euro 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 đá euro 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 đá euro 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 đá euro giao dịch sau này có thể bắt kịp.
23580_24126
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 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 đá euro 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.
24513_24982
Báo cáo hệ số tỷ lệ được chỉ định trongPGBenchđầu ra. Với kèo bóng đá euro 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 chỉ 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.
Chạy tập lệnh chỉ chọn tích hợp. Tốc ký cho-B CHỌN CHỈ.
Số lượng kèo bóng đá euro mỗi khách hàng chạy. Mặc định là 10.
Chạy thử nghiệm trong nhiều giây này, thay vì số lượng kèo bóng đá euro cố định cho mỗi máy khách.-T26298_26305-tlà loại trừ lẫn nhau.
Chacuum Tất cả bốn bảng tiêu chuẩn trước khi chạy thử nghiệm. Không có-NNor-V, PGBenchSẽ hút bụipgbench_tellersvàpgbench_branchesbảng và sẽ cắt ngắnpgbench_history.
Độ 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 đá euro, độ 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.
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 vài giây, với độ chính xác mili giây sau dấu chấm. Điều này giúp so sánh kèo bóng đá euro nhật ký được tạo bởi kèo bóng đá euro công cụ khác nhau.
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 đá euro 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 đá euro giá trị TPS, bạn cần nhân kèo bóng đá euro 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 kèo bóng đá euro đối số chung dòng lệnh sau:
Tên máy chủ của máy chủ cơ sở dữ liệu
Số cổng của máy chủ cơ sở dữ liệu
Tên người dùng để kết nối là
inPGBenchPhiên bản và Thoát.
Hiển thị trợ giúp vềPGBenchĐối số dòng lệnh và thoát.
PGBenchThực thi kèo bóng đá euro tập lệnh kiểm tra được chọn ngẫu nhiên từ một danh sách được chỉ định. kèo bóng đá euro tập lệnh có thể bao gồm kèo bóng đá euro tập lệnh tích hợp được chỉ định với-Bvà kèo bóng đá euro 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 kèo bóng đá euro trọng số tương đối được chỉ định sau kèo bóng đá euro@để 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ượng0bị bỏ qua.
Tập lệnh kèo bóng đá euro 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 kèo bóng đá euro được chọn ngẫu nhiênviện trợ, tid, BIDvà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;
30691_30767
Chọn Abalance từ PGBench_Accounts WHERE AID =: AID;
Cập nhật pgbench_tellers đặt tbalance = tbalance +: delta trong đó tid =: tid;
Cập nhật pgbench_branches đặt bbalance = bbalance +: delta trong đó giá thầu =: giá thầu;
31143_31256
kết thúc;
Nếu bạn chọnĐơn giản updatetí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 kèo bóng đá euro 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ọn31639_31657-S), chỉChọnđược ban hành.
PGBench31874_32034-fTùy chọn). Trong trường hợp này A"kèo bóng đá euro"được tính là kèo bóng đá euro 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. kèo bóng đá euro đường và đường trống bắt đầu bằng--bị bỏ qua. Tệp tập lệnh cũng có thể chứa"kèo bóng đá euro lệnh meta", được giải thích bởiPGBenchchính nó, như được mô tả bên dưới.
Lưu ý:trướcPostgreSQL9.6, kèo bóng đá euro lệnh SQL trong kèo bóng đá euro tệp script đã bị chấm dứt bởi kèo bóng đá euro dòng mới và do đó chúng không thể được tiếp tục trên kèo bóng đá euro dòng. Bây giờ là một dấu chấm phẩy làYêu cầuĐể tách kèo bóng đá euro 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 kèo bóng đá euro 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 kèo bóng đá euro tệp script. kèo bóng đá euro 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 bởi kèo bóng đá euro 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-DTùy chọn dòng lệnh, có một kèo bóng đá euroi biến được đặt trước tự động, được liệt kê trongBảng 1. Một giá trị được chỉ định cho kèo bóng đá euro biến này bằng cách sử dụng-Dđược ưu tiên hơn kèo bóng đá euro 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 1. Biến tự động
biến | Mô tả |
---|---|
Scale | Yếu tố tỷ lệ hiện tại |
client_id | Số duy nhất Xác định phiên máy khách (bắt đầu từ 0) |
kèo bóng đá euro lệnh meta tập tin bắt đầu bằng dấu gạch chéo ngược (\) và mở rộng đến cuối dòng. kèo bóng đá euro đối số cho một lệnh meta được phân tách bằng không gian trắng. kèo bóng đá euro lệnh meta này được hỗ trợ:
Đặt biếnvarnamevới giá trị được tính từBiểu thức. Biểu thức có thể chứa kèo bóng đá euro hằng số nguyên như5432, Hằng số kép như3.14159, tham chiếu đến kèo bóng đá euro biến:Variablename, toán tử Unary (+, -) và toán tử nhị phân (+, -, *, /, %) với ưu tiên và tính kết hợp thông thường của họ,chức năng gọi, và dấu ngoặc đơn.
Ví dụ:
\ SET NTELLERS 10 *: Tỷ lệ \ Đặt viện trợ (1021 * ngẫu nhiên (1, 100000 *: tỷ lệ)) % (100000 *: tỷ lệ) + 1
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:variablenameTham chiếu đến kèo bóng đá euro biến có giá trị số nguyên.
Ví dụ:
\ ngủ 10 ms
Đặt biếnvarnameđến kết quả của lệnh shelllệnhvớ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ệnhvà mỗiĐối sốcó thể là kèo bóng đá euro hằng số văn bản hoặc:variablenametham chiếu đến kèo bóng đá euro biến. Nếu bạn muốn sử dụngĐối sốBắt đầu với một dấu hai chấm, hãy viết thêm một dấu hai chấm kèo bóng đá euroo đầuĐối số.
Ví dụ:
37243_37343
37491_37501\ setshell37533_37580
Ví dụ:
37627_37700
kèo bóng đá euro chức năng được liệt kê trongBảng 2được tích hợp kèo bóng đá eurooPGBenchvà có thể được sử dụng trong kèo bóng đá euro biểu thức xuất hiện trong\ set.
Bảng 2. Hàm PGBench
chức năng | Loại trả lại | Mô tả | Ví dụ | result |
---|---|---|---|---|
abs (A) |
giống nhưA | Giá trị tuyệt đối | abs (-17) | 17 |
DEBUG (A) |
giống nhưA | inAđếnstderrvà trả vềA | gỡ lỗi (5432.1) | 5432.1 |
Double (i) |
Double | đúc thành Double | Double (5432) | 5432.0 |
vĩ đại nhất (A[,...]) |
Double nếu cóAlà gấp đôi, số nguyên khác | Giá trị lớn nhất trong số kèo bóng đá euro đối số | vĩ đại nhất (5, 4, 3, 2) | 5 |
int (x) |
Số nguyên | Cast to Int | int (5.4 + 3.8) | 9 |
Ít nhất (A[,...]) |
Double nếu cóAlà gấp đôi, số nguyên khác | Giá trị nhỏ nhất trong số kèo bóng đá euro đối số | Ít nhất (5, 4, 3, 2.1) | 2.1 |
pi () |
40405_40413 | Giá trị của hằng số pi | pi () | 3.14159265358979323846 |
ngẫu nhiên (lb, UB) |
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) | số nguyên giữa1và10 |
Random_Exponential (lb, UB, tham số) |
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) | số nguyên giữa1và10 |
Random_gaussian (lb, UB, tham số) |
Số nguyên | Số nguyên ngẫu nhiên phân phối Gaussian trong[lb, ub], xem bên dưới | Random_gaussian (1, 10, 2.5) | kèo bóng đá euro số nguyên giữa1và10 |
sqrt (x) |
Double | căn bậc hai | sqrt (2.0) | 1.414213562 |
Thengẫu nhiênHàm tạo ra kèo bóng đá euro giá trị bằng cách sử dụng phân phối đồng đều, đó là tất cả kèo bóng đá euro giá trị được rút ra trong phạm vi được chỉ định với xác suất bằng nhau. Thengẫu nhiên_exponentialvàRandom_gaussiankèo bóng đá euro 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ắ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 kèo bóng đá euro 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ịigiữaminvàmaxBao gồm được vẽ với xác suất:f (i) - f (i + 1).theo trực giác, càng lớntham số, kèo bóng đá euro giá trị thường xuyên hơn gầnminđược truy cập và kèo bóng đá euro giá trị ít thường xuyên hơn gầnmaxđược truy cập. Gần với 0tham số43530_43690min, đượ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ạ kèo bóng đá euroo 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ố44119_44220PHI (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)
Ví dụ, định nghĩa đầy đủ về kèo bóng đá euro TPC-B-giống tích hợp là:
\ Đặt ngẫu nhiên viện trợ (1, 100000 *: tỷ lệ) \ đặt giá thầu ngẫu nhiên (1, 1 *: tỷ lệ) \ Đặt TID ngẫu nhiên (1, 10 *: tỷ lệ) \ Đặt Delta Random (-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 đá euroo 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 đá euro hàng khác nhau, được chọn ngẫu nhiên. .
với-LTùy chọn nhưng không có47040_47062, PGBenchViết thời gian được thực hiện bởi mỗi giao dịch kèo bóng đá euroo một tệp nhật ký. Tệp nhật ký sẽ được đặt tênpgbench_log.nnn, trong đónnnlà pid củaPGBenchQuy trình. Nếu-J47410_47660pgbench_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 đá euro dịch_no Thời gian script_no Time_epoch time_us[Lịch trình_lag]
WHEREThời gianCó phải tổng thời gian kèo bóng đá euro đã trôi qua tính bằng micro giây,script_no48402_48493-fhoặc-B) 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 đá euro hoàn thành. Cánh đồngLịch trình_laglà sự khác biệt giữa thời gian bắt đầu theo lịch trình của kèo bóng đá euro và thời gian thực sự bắt đầu, trong micro giây. Nó chỉ có mặt khi--RateTùy chọn được sử dụng. Khi cả hai--Ratevà-Latency-Limitđược sử dụng,Thời gianĐối với kèo bóng đá euro giao dịch bị bỏ qua sẽ được báo cáo làBỏ qua.
Đây là kèo bóng đá euro đ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
49476_49553Lị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
49888_50089
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 đá euro 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 kèo bóng đá euro mẫu giao dịch ngẫu nhiên.
với--Ggregate-IntervalTùy chọn, nhật ký sử dụng kèo bóng đá euro chút định dạng khác nhau:
interval_start num_of_transactions latency_sum latency_2_sum 50759_50772 Max_Latency[LAG_SUM LAG_2_SUM MIN_LAG MAX_LAG[Bỏ qua_transactions]]
WHEREinterval_startlà 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 đá euro trong khoảng thời gian,latency_sumlà kèo bóng đá euro tổng độ trễ (vì vậy bạn có thể tính toán độ trễ trung bình kèo bóng đá euro 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 đá euro tổng của độ trễ vàlatency_2_sumlà tổng của sức mạnh thứ 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 đá euro trường cuối cùng,LAG_SUM, LAG_2_SUM, MIN_LAGvàMAX_LAG, chỉ có mặt nếu52149_52157Tù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 đá euro 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 đá euro 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 tách) chứa một tham chiếu đến kèo bóng đá euro 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.
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 đá euro 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:
53515_54685
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 kèo bóng đá euro 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 đá euro 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.
Nó rất dễ sử dụng55349_55358Để tạo ra kèo bóng đá euro 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 đá euroi 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 kèo bóng đá euroi 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 đá euroi 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 giao dịch muốn cập nhật kèo bóng đá euro 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 đá euro 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 đá euro bảng được khởi tạo: tích lũy kèo bóng đá euro hàng chết và không gian chết trong kèo bóng đá euro 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 tự động đượ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 đá euro 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 đá euro 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 kèo bóng đá euro sốPGBenchkèo bóng đá euro 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 không tin tưởng có quyền truy cập kèo bóng đá euroo 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.