Postgresql 8.4.22 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Phụ lục F. kèo bóng đá euro mô -đun được cung cấp bổ sung | Chuyển tiếp nhanh | Tiếp theo |
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ênPostgreSQL. Nó chạy cùng một chuỗi SQL các lệnh lặp đi lặp lại, có thể trong nhiều cơ sở dữ liệu đồng thời các phiên, và sau đó tính toán tỷ lệ kèo bóng đá euro trung bình (kèo bóng đá euro mỗi giây). Theo mặc định,9585_9594Kiểm tra một kịch bản một cách lỏng lẻo Dựa trên TPC-B, liên quan đến nămChọn, Cập nhậtvàChènlệnh cho mỗi kèo bóng đá euro. Tuy nhiên, nó là Dễ dàng kiểm tra các trường hợp khác bằng cách viết tập lệnh kèo bóng đá euro của riêng bạn Tệp.
Đầu ra điển hình từ PGBench trông giống như:
Loại kèo bóng đá euro: TPC-B (loại) Hệ số tỷ lệ: 10 Chế độ truy vấn: Đơn giản Số lượng khách hàng: 10 Số lượng kèo bóng đá euro trên mỗi khách hàng: 1000 Số lượng kèo bóng đá euro thực sự được xử lý: 10000/10000 TPS = 85.184871 (bao gồm cả kết nối thiết lập) TPS = 85.296346 (không bao gồm thiết lập kết nối)
10284_10712
Kiểm tra kèo bóng đá euro TPC-B mặc định yêu cầu cụ thể các bảng đượ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à Dăn các bảng này. (Khi bạn đang kiểm tra một tập kèo bóng đá euro tùy chỉnh, Bạn không cần bước này, nhưng thay vào đó sẽ cần phải làm bất cứ điều gì thiết lập nhu cầu kiểm tra của bạn.) Khởi tạo có vẻ như:
pgbench -i [ tùy chọn khác ]dbname
ở đâudbnamelà 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ó của kèo bóng đá euro tên này. Rất cẩn thận để sử dụng cơ sở dữ liệu khác nếu bạn có kèo bóng đá euro bảng có những bảng này Tên! |
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ệ) tùy chọn. The-f(fillfactor) cũng có thể được sử dụng tại thời điểm này.
Sau khi thực hiện thiết lập cần thiết, bạn có thể chạy điểm chuẩn với kèo bóng đá euro 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 để tạo 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 kèo bóng đá euro tùy chỉnh). Xem bên dưới để biết danh sách đầy đủ.
Bảng F-14Hiển thị kèo bóng đá euro tùy chọn được sử dụng trong quá trình khởi tạo cơ sở dữ liệu, trong khiBảng F-15Hiển thị kèo bóng đá euro tùy chọn được sử dụng trong khi chạy điểm chuẩn vàBảng F-16Hiển thị kèo bóng đá euro tùy chọn hữu ích trong cả hai trường hợp.
Bảng F-14.PGBenchTùy chọn khởi tạo
Tùy chọn | Mô tả |
---|---|
-I | Yêu cầu gọi chế độ khởi tạo. |
-S scale_factor | Nhân số lượng hàng được tạo bởi thang đo nhân tố. Ví dụ,-S 100sẽ tạo 10.000.000 hàng trongPGBench_AccountsBảng. Mặc định là 1. |
-f fillfactor | TạoPGBench_Accounts, PGBench_Tellersvàpgbench_branchesBảng với Cho fillfactor. Mặc định là 100. |
Bảng F-15.PGBenchTùy chọn điểm chuẩn
Tùy chọn | Mô tả |
---|---|
-C Khách hàng | Số lượng khách hàng mô phỏng, nghĩa là số lượng Phiên cơ sở dữ liệu đồng thời. Mặc định là 1. |
-T kèo bóng đá euro | Số lượng kèo bóng đá euro mỗi khách hàng chạy. Mặc định là 10. |
-T giây | Chạy thử nghiệm trong nhiều giây này, thay vì a số lượng kèo bóng đá euro cố định cho mỗi khách hàng.-Tvà-Tlà loại trừ lẫn nhau. |
-M QueryMode | kèo bóng đá euro thức để sử dụng để gửi truy vấn đến máy chủ:
|
-N | Không cập nhật17878_17895vàpgbench_branches. Điều này sẽ tránh Cập nhật tranh chấp trên kèo bóng đá euro bảng này, nhưng nó tạo ra trường hợp kiểm tra thậm chí còn ít như tpc-b. |
-S | Thực hiện các kèo bóng đá euro chỉ chọn thay vì TPC-B-giống như kiểm tra. |
-f FileName | Đọc tập lệnh kèo bóng đá euro từFileName. Xem bên dưới để biết chi tiết.-N, -Svà-flà loại trừ lẫn nhau. |
-N | Thực hiện không có hút bụi trước khi chạy thử nghiệm. Cái này Tùy chọn làcần thiếtNếu bạn là 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. |
-V | VACUUM Tất cả bốn bảng tiêu chuẩn trước khi chạy Bài kiểm tra. Không có-Ncũng không-V, PGBench sẽ hút bụipgbench_tellersvàpgbench_branchesBảng, và sẽ cắt ngắnpgbench_history. |
-D varname=giá trị | Xác định một biến để sử dụng bởi tập kèo bóng đá euro tùy chỉnh (xem dưới). Nhiều-DTùy chọn được phép. |
-C | 20247_20422 |
-L | Viết thời gian được thực hiện bởi mỗi kèo bóng đá euro cho a logfile. Xem bên dưới để biết chi tiết. |
-S Scale_Factor | 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; đúng Hệ số tỷ lệ sẽ được phát hiện bằng cách đếm số lượng hàng trongpgbench_branchesBảng. Tuy nhiên, khi nào 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. |
-D | Đầu ra gỡ lỗi in. |
Tập lệnh kèo bóng đá euro mặc định phát hành bảy lệnh mỗi kèo bóng đá euro:
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 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;
Chèn vào pgbench_history (TID, Giá thầu, viện trợ, Delta, MTIME) Giá trị (: TID,: BID,: AID,: Delta, Current_timestamp);
end;
Nếu bạn chỉ định-N, Bước 4 và 5 không bao gồm trong kèo bóng đá euro. Nếu bạn chỉ định-S, chỉChọnIS đã phát hành.
PGBenchcó hỗ trợ cho Chạy kịch bản điểm chuẩn tùy chỉnh bằng cách thay thế mặc định tập lệnh kèo bóng đá euro (được mô tả ở trên) với tập lệnh kèo bóng đá euro đọc từ một tệp (-ftùy chọn). Trong này trường hợp a"kèo bóng đá euro"được tính là một thực hiện một tập tin tập kèo bóng đá euro. Bạn thậm chí có thể chỉ định nhiều tập kèo bóng đá euro (nhiều-fTùy chọn), trong Trường hợp nào ngẫu nhiên một trong các tập lệnh được chọn mỗi lần Phiên khách bắt đầu một kèo bóng đá euro mới.
Định dạng của tệp tập kèo bóng đá euro là một kèo bóng đá euro sql trên mỗi dòng; Các kèo bóng đá euro SQL đa dòng không được hỗ trợ. Dòng trống và Các dòng bắt đầu bằng--bị bỏ qua. kèo bóng đá euro dòng tệp script cũng có thể là"Meta kèo bóng đá euro ", được giải thích bởiPGBenchChính nó, như được mô tả bên dưới.
Có một cơ sở thay thế biến đổi đơn giản cho tập kèo bóng đá euro Tệp. Các biến có thể được đặt bởi dòng kèo bóng đá euro-DTùy chọn, được giải thích ở trên hoặc bởi meta Các kèo bóng đá euro được giải thích dưới đây. Ngoài bất kỳ biến nào được đặt trước qua-DTùy chọn dòng kèo bóng đá euro, The biếntỷ lệđược đặt trước vào Yếu tố quy mô hiện tại. Sau khi được đặt, giá trị của một biến có thể là được chèn vào kèo bóng đá euro SQL bằng cách viết:variablename. Khi chạy nhiều hơn một phiên khách, mỗi phiên có tập hợp kèo bóng đá euro biến riêng.
Các kèo bóng đá euro meta tập tin tập kèo bóng đá euro bắt đầu bằng dấu gạch chéo ngược (\). Đối số với kèo bóng đá euro meta được phân tách bằng không gian trắng. Các kèo bóng đá euro meta này được hỗ trợ:
Đặt biếnvarnamevới giá trị số nguyên được tính toán. MỗiToán tửlà một số nguyên không đổi hoặc một:variablename26426_26492Nhà điều hànhcó thể+, -, *hoặc/.
Ví dụ:
\ SET NTELLERS 10 *: Tỷ lệ
Đặt biếnvarnamevới giá trị số nguyên ngẫu nhiên giữa kèo bóng đá euro giới hạnminvàMaxBao gồm. Mỗi giới hạn có thể là Hằng số số nguyên hoặc:Variablenametham chiếu đến a Biến có giá trị số nguyên.
Ví dụ:
\ SetRandom Aid 1: Naccounts
khiến việc thực thi tập kèo bóng đá euro ngủ cho người được chỉ định thời lượng 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à một số nguyên không đổi hoặc một:variablenametham chiếu đến a Biến có giá trị số nguyên.
Ví dụ:
\ ngủ 10 ms
Ví dụ, định nghĩa đầy đủ về tích hợp kèo bóng đá euro TPC-B-like là:
28511_29112
Tập lệnh này cho phép mỗi lần lặp lại kèo bóng đá euro Tham khảo các hàng khác nhau, chọn ngẫu nhiên. (Ví dụ này cũng cho thấy lý do tại sao điều quan trọng đối với mỗi phiên khách hàng có Các biến riêng - nếu không chúng sẽ không chạm vào độc lập các hàng khác nhau.)
với-LTùy chọn,PGBenchViết thời gian của mỗi kèo bóng đá euro cho một logfile. Logfile sẽ được đặt tênpgbench_log.29793_29798, trong đónnnlà PID của quy trình PGBench. Định dạng của nhật ký là:
client_id kèo bóng đá euro dịch_no thời gian file_no Time_epoch Time_us
WHEREthời gianlà đã qua Thời gian kèo bóng đá euro tính bằng micro giây,file_noXác định tệp tập kèo bóng đá euro nào được sử dụng (hữu ích khi nhiều tập kèo bóng đá euro được chỉ định với-f) vàtime_epoch/time_us30597_30784
Đây là đầu ra ví dụ:
0 199 2241 0 1175850568 995598 0 200 2465 0 1175850568 998079 0 201 2513 0 1175850569 608 0 202 2038 0 1175850569 2663
Rất dễ sử dụngPGBench31193_31303
Ở nơi đầu tiên,không bao giờTin bất kỳ bài kiểm tra nào chạy Chỉ trong vài giây. Sử dụng-Thoặc-TTùy chọn để chạy cuối cùng tại ít nhất một vài phút, để trung bình phát ra tiếng ồn. Trong một số trường hợp Bạn có thể cần hàng giờ để có được những con số có thể tái tạo. Của nó một ý tưởng tốt để thử thử nghiệm chạy một vài lần, để tìm hiểu xem có Số của bạn có thể tái tạo hay không.
31797_31878-S) Ít nhất nên 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 Cập nhật tranh chấp. Chỉ có-Shàng trongpgbench_branchesBảng, Và mọi kèo bóng đá euro đều muốn cập nhật một trong số chúng, vì vậy-CGiá trị vượt quá-Schắc chắn sẽ dẫn đến rất nhiều Các kèo bóng đá euro bị chặn chờ các kèo bóng đá euro khác.
32437_32839
Giới hạn củaPGBenchIS rằng 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 hàng. Điều này có thể được giảm bớt bởi đang chạyPGBenchtrên một khác máy từ máy chủ cơ sở dữ liệu, mặc dù độ trễ mạng thấp sẽ là điều cần thiết. Nó thậm chí có thể hữu ích khi chạy một sốPGBenchkèo bóng đá euro thể hiện đồng thời, trên một số máy khách, chống lại cùng một Máy chủ cơ sở dữ liệu.