Postgresql 9.1.24 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Phụ lục F. soi kèo bóng đá truoctran mô -đun được cung cấp bổ sung | NEXT |
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 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ệ soi kèo bóng đá truoctran trung bình (soi kèo bóng đá truoctran mỗi giây). Theo mặc định,PGBenchKiểm tra soi kèo bóng đá truoctran kịch bản soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran. 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 soi kèo bóng đá truoctran của riêng bạn Tệp.
Đầu ra điển hình từ PGBench trông giống như:
Loại soi kèo bóng đá truoctran: 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 chủ đề: 1 Số lượng soi kèo bóng đá truoctran trên mỗi khách hàng: 1000 Số lượng soi kèo bóng đá truoctran 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)
Sáu dòng đầu tiên báo cáo một số điều quan trọng nhất Cài đặt tham số. Dòng tiếp theo 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 cho mỗi khách hàng); những thứ này sẽ bằng nhau trừ khi lần chạy không thành công trước hoàn thành. (TRONG-Tchế độ, chỉ thực tế Số lượng soi kèo bóng đá truoctran được in.) Hai dòng cuối cùng báo cáo Số lượng soi kèo bóng đá truoctran mỗi giây, hình có và không có Đếm thời gian để bắt đầu các phiên cơ sở dữ liệu.
Kiểm tra soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran bảng này. (Khi bạn đang kiểm tra một tập lệnh 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
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-U11747_11812
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 soi kèo bóng đá truoctran 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ó soi kèo bóng đá truoctran bảng có những bảng này Tên! |
Tại mặc định"Yế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 ------------------------------------- PGBench_Branches 1 PGBench_Tellers 10 PGBench_Accounts 100000 pgbench_history 0
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.
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 lệnh không 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 để tạo Kiểm tra hữu ích. soi kèo bóng đá truoctran tùy chọn quan trọng nhất là-C13599_13623-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 đủ.
Phần F.26.2Hiển thị soi kèo bóng đá truoctran tùy chọn được sử dụng trong cơ sở dữ liệu khởi tạo, trong khiPhần F.26.3Hiển thị soi kèo bóng đá truoctran tùy chọn được sử dụng trong khi chạy điểm chuẩn vàPhần F.26.4Hiển thị soi kèo bóng đá truoctran tùy chọn 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:
Yêu cầu gọi chế độ khởi tạo.
Tạopgbench_accounts, pgbench_tellersvàpgbench_branchesBảng có giá trị đã cho chất làm đầy. Mặc định là 100.
Nhân số lượng hàng được tạo bởi thang đo nhân tố. Ví dụ,-S 100Will Tạo 10.000.000 hàng soi kèo bóng đá truoctranpgbench_accountsBảng. Mặc định là 1.
PGBenchChấp nhận soi kèo bóng đá truoctran đối số điểm chuẩn dòng lệnh sau:
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.
Thiết lập kết nối mới cho mỗi soi kèo bóng đá truoctran, thay vì làm nó chỉ một lần cho mỗi phiên khách hàng. Cái này rất hữu ích để đo chi phí kết nối.
Đầu ra gỡ lỗi in.
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 dưới). Nhiều-DTùy chọn là cho phép.
Đọc tập lệnh soi kèo bóng đá truoctran từFileName. Xem bên dưới để biết chi tiết.-N, -S,, Và-flà lẫn nhau loại trừ.
số lượng chủ đề công nhân soi kèo bóng đá truoctranPGBench. Sử dụng nhiều hơn một chủ đề Có thể hữu ích trên soi kèo bóng đá truoctran máy đa CPU. Số lượng của Khách hàng phải là bội số của số lượng chủ đề, Vì mỗi luồng được cung cấp cùng một số máy khách Phiên để quản lý. Mặc định là 1.
Viết thời gian được thực hiện bởi mỗi soi kèo bóng đá truoctran vào nhật ký tài liệu. Xem bên dưới để biết chi tiết.
soi kèo bóng đá truoctran thức để sử dụng để gửi truy vấn cho máy chủ:
đơn giản: Sử dụng truy vấn đơn giản soi kèo bóng đá truoctran thức.
mở rộng: Sử dụng mở rộng soi kèo bóng đá truoctran thức truy vấn.
Chuẩn bị18423_18494
Mặc định là soi kèo bóng đá truoctran thức truy vấn đơn giản. (Nhìn thấyChương 46Để 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. Cái này Tùy chọn làcần thiếtNếu bạn là chạy soi kèo bóng đá truoctran kịch bản kiểm tra tùy chỉnh không bao gồm Bảng tiêu chuẩnpgbench_accounts, pgbench_branches, pgbench_historyvàpgbench_tellers.
Không cập nhậtpgbench_tellersvàpgbench_branches19437_19560
Báo cáo độ trễ trung bình trên mỗi lần (thực thi thời gian từ quan điểm của máy khách) của mỗi lệnh Sau khi kết thúc điểm chuẩn. Xem bên dưới để biết chi tiết.
Báo cáo hệ số tỷ lệ được chỉ định soi kèo bóng đá truoctranPGBenchđầu ra. Với tích hợp soi kèo bóng đá truoctran xét nghiệm, điều này là không cần thiết; Yếu tố quy mô 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ẽ là được báo cáo là 1 trừ khi tùy chọn này được sử dụng.
Thực hiện các soi kèo bóng đá truoctran chỉ chọn thay vì TPC-B-like Bài kiểm tra.
Số lượng soi kèo bóng đá truoctran 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ì a số lượng soi kèo bóng đá truoctran cố định cho mỗi khách hàng.-Tvà-T21141_21177
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.
PGBenchChấp nhận soi kèo bóng đá truoctran đối số phổ biến theo lệnh sau:
22159_22192
Số cổng của máy chủ cơ sở dữ liệu
Tên người dùng để kết nối là
Tập lệnh soi kèo bóng đá truoctran mặc định phát hành bảy lệnh mỗi soi kèo bóng đá truoctran:
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;
23258_23341
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 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 soi kèo bóng đá truoctran. 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 soi kèo bóng đá truoctran (được mô tả ở trên) với tập lệnh soi kèo bóng đá truoctran đọc từ một tệp (-fTùy chọn). soi kèo bóng đá truoctran này trường hợp a"soi kèo bóng đá truoctran"được tính là soi kèo bóng đá truoctran thực hiện soi kèo bóng đá truoctran tập tin 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 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 soi kèo bóng đá truoctran 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; soi kèo bóng đá truoctran lệnh SQL Multiline không được hỗ trợ. soi kèo bóng đá truoctran đường và đường trống bắt đầu với--bị bỏ qua. Kịch bản dòng tệp cũng có thể là"Meta lệnh ", được giải thích bởiPGBenchChính nó, như được mô tả bên dưới.
25073_25187-DTùy chọn, được giải thích ở trên hoặc bởi meta soi kèo bóng đá truoctran lệnh đượ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 lệnh, The biếnScaleđược đặt trước vào Yếu tố quy mô hiện tại. Sau khi được đặt, giá trị của soi kèo bóng đá truoctran biến có thể là được chèn vào lệnh 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 soi kèo bóng đá truoctran biến riêng.
soi kèo bóng đá truoctran lệnh meta tập tin bắt đầu bằng dấu gạch chéo ngược (\). Đối số với lệnh meta được phân tách bằng không gian trắng. soi kèo bóng đá truoctran lệnh 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à soi kèo bóng đá truoctran số nguyên không đổi hoặc soi kèo bóng đá truoctran:variablenametham chiếu đến a Biến có giá trị số nguyên. TheNhà điều hànhcó thể+, -, *hoặc/.
Ví dụ:
\ SET NTELLERS 10 *: tỷ lệ
Đặt biến27154_27163với giá trị số nguyên ngẫu nhiên giữa soi kèo bóng đá truoctran 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 lệnh ngủ cho đượ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à soi kèo bóng đá truoctran số nguyên không đổi hoặc soi kèo bóng đá truoctran:variablenametham chiếu đến a Biến có giá trị số nguyên.
Ví dụ:
\ ngủ 10 ms
Đặt biếnvarnamevới kết quả của lệnh shelllệnh. Lệnh phải trả về soi kèo bóng đá truoctran Giá trị số nguyên thông qua đầu ra tiêu chuẩn của nó.
Đối sốCó thể là một soi kèo bóng đá truoctran hai một hằng số văn bản hoặc một:variablenametham chiếu đến a biến của bất kỳ loại. Nếu bạn muốn sử dụngĐối số29202_29303Đối số.
Ví dụ:
29412_29514
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 đủ về tích hợp soi kèo bóng đá truoctran TPC-B-like 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 soi kèo bóng đá truoctran đó viện trợ =: viện trợ; 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 WHERE BID =: BID; Chèn vào 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;
30720_30996
với-LTùy chọn,PGBenchViết thời gian của mỗi soi kèo bóng đá truoctran vào một tập tin nhật ký. Tệp nhật ký sẽ được đặt tênpgbench_log.nnn, soi kèo bóng đá truoctran đónnnlà PID của quy trình PGBench. Nếu như The-JTùy chọn từ 2 hoặc cao hơn, tạo ra Nhiều luồng công nhân, mỗi chủ đề sẽ có tệp nhật ký riêng. soi kèo bóng đá truoctran 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. soi kèo bóng đá truoctran tệp nhật ký bổ sung cho soi kèo bóng đá truoctran công nhân khác sẽ được đặt tênpgbench_log.nnn.MMM, soi kèo bóng đá truoctran đó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 soi kèo bóng đá truoctran dịch_no thời gian 32246_32255 time_epoch time_us
WHEREThời gianlà tổng số Thời gian soi kèo bóng đá truoctran đã trôi qua tính bằng micro giây,file_noXác định tệp tập lệnh nào là đượ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à thời gian định dạng Epoch Unix và bù bằng micro giây (phù hợp để tạo ISO 8601 dấu thời gian với các giây phân đoạn) hiển thị khi soi kèo bóng đá truoctran hoàn thành.
32927_32954
0 199 2241 0 1175850568 995598 0 200 2465 0 1175850568 998079 0 201 2513 0 1175850569 608 0 202 2038 0 1175850569 2663
với-RTùy chọn,PGBenchThu thập soi kèo bóng đá truoctran đã qua thời gian của mỗi câu lệnh được thực hiện bởi mỗi khách hàng. Nó sau đó báo cáo trung bình của các giá trị đó, được gọi là độ trễ Đối với 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 giống như cái này:
Khởi động chân không ... kết thúc. Loại soi kèo bóng đá truoctran: TPC-B (loại) Hệ số tỷ lệ: 1 Chế độ truy vấn: Đơn giản Số lượng khách hàng: 10 Số lượng chủ đề: 1 Số lượng soi kèo bóng đá truoctran trên mỗi khách hàng: 1000 Số lượng soi kèo bóng đá truoctran thực sự được xử lý: 10000/10000 TPS = 618.764555 (bao gồm cả kết nối thiết lập) TPS = 622.977698 (không bao gồm thiết lập kết nối) Độ trễ tuyên bố tính bằng mili giây: 0,004386 \ Đặt nbranches 1 *: tỷ lệ 0,001343 \ Đặt NTELLERS 10 *: Tỷ lệ 0,001212 \ Đặt Naccounts 100000 *: Tỷ lệ 0,001310 \ SetRandom Aid 1: Naccounts 0,001073 \ Setrandom BID 1: NBRANCHES 0,001005 \ setrandom tid 1: nteller 0,001078 \ setrandom delta -5000 5000 0,326152 bắt đầu; 0.603376 Cập nhật PGBench_Accounts Đặt Abalance = Abalance +: Delta WHERE viện trợ =: viện trợ; 0.454643 Chọn Abalance từ PGBench_Accounts trong đó viện trợ =: viện trợ; 5.528491 Cập nhật PGBench_Tellers Đặt tbalance = tbalance +: delta trong đó tid =: tid; 7.335435 Cập nhật PGBench_Branches Đặt BBalance = BBalance +: Delta WHERE BID =: BID; 0,371851 Chèn vào pgbench_history (tid, giá thầu, viện trợ, delta, mtime) giá trị (: tid,: giá thầu,: viện trợ,: delta, current_timestamp); 1.212976 kết thúc;
Nếu nhiều tệp tập lệnh được chỉ định, trung bình là báo cáo riêng cho từng 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ố trên không. Điều này sẽ làm chậm tốc độ thực thi trung bình và hạ thấp TPS 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 TPS trung bình soi kèo bóng đá truoctran giá trị có và không có báo cáo độ trễ được bật là một cách tốt Để đo lường nếu chi phí thời gian có đáng kể không.
Nó rất dễ sử dụngPGBenchĐể tạo ra hoàn toàn vô nghĩa số. Dưới đây là soi kèo bóng đá truoctran số hướng dẫn để giúp bạn hữu ích kết quả.
Ở nơi đầu tiên,không bao giờTin bất kỳ bài kiểm tra nào chạy Chỉ soi kèo bóng đá truoctran 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. soi kèo bóng đá truoctran 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.
Đối với kịch bản kiểm tra TPC-B-like mặc định, việc khởi tạo Yếu tố tỷ lệ (-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 soi kèo bóng đá truoctranpgbench_branchesBảng, Và mọi soi kèo bóng đá truoctran đề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 soi kèo bóng đá truoctran bị chặn chờ các soi kèo bóng đá truoctran khác.
Kịch bản kiểm tra mặc định cũng khá nhạy cảm với cách Long nó đã được kể từ khi soi kèo bóng đá truoctran bảng được khởi tạo: tích lũy của 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ố Số lượng cập nhật và khi hút bụi xảy ra. Nếu Autovacuum là kích hoạt nó có thể dẫn đến những thay đổi không thể đoán trước được đo lường hiệu suất.
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 soi kèo bóng đá truoctran phiên khách hàng. Điều này có thể được giảm bớt bởi đang chạy37629_37638trên soi kèo bóng đá truoctran 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 soi kèo bóng đá truoctran sốPGBenchsoi kèo bóng đá truoctran trường hợp đồ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.