Trang này được dịch bằng máy. Đọc bản gốc tiếng Anh. English

Thư viện IBSurgeon

Cách thu thập trace Firebird để phân tích hiệu suất IBSurgeon

Lưu ý: việc theo dõi (tracing) là an toàn, có thể bắt đầu trên hệ thống production, nó không ảnh hưởng đến hiệu suất nếu sử dụng cấu hình được khuyến nghị dưới đây.

Hướng dẫn này mô tả cách sử dụng IBSurgeon Performance Analysis (một phần của gói đăng ký cc.ib-aid.com) cho người dùng Firebird vanilla (đối với người dùng HQbird, tính năng này có sẵn trong giao diện trên tab “Performance”).

Theo dõi (Tracing) cho Firebird 5.0, 4.0 và 3.0

Bước 1 - Tệp cấu hình

Sao chép cấu hình sau vào tệp fbtrace30.conf, hoặc tải tệp đã chuẩn bị sẵn từ đây.

Code
database
{
	enabled = true
	time_threshold = 100
	log_connections = true
	log_statement_finish = true
	log_errors = true
	log_initfini = false
	print_plan = true
	#explain_plan = false
	print_perf = true
	max_sql_length = 65000
	max_arg_length = 240
	max_arg_count = 50
}

Lưu tệp vào thư mục không có khoảng trắng, ví dụ: C:\temp\fbtrace30.conf, hoặc /opt/fbtrace30.conf

Bước 2 - Kiểm tra cấu hình

Chạy fbtracemgr để kiểm tra cấu hình hoạt động:

Windows

Mở command prompt (chạy cmd.exe), đi đến thư mục chứa Firebird (có thể là C:\Program Files\Firebird\Firebird_3.0.hoặc C:\HQbird\Firebird30) và chạy (sử dụng mật khẩu SYSDBA thực tế của bạn thay vì masterkey)

Code
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace30.conf

Linux

Mở terminal, sau đó chạy fbtracemgr từ thư mục bin của Firebird (/ opt/firebird/bin hoặc /usr/local/bin)

Code
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace30.conf

Kết quả, bạn sẽ thấy đầu ra trong command prompt, tương tự như thế này:

Code
Trace session ID 2 started
2021-05-26T10:23:48.5690 (2996:00000000018E0040) ATTACH_DATABASE
        C:\HQBIRD\FIREBIRD30.ECURITY3.FDB (ATT_6189, SYSDBA:NONE, NONE, )

Dừng theo dõi bằng Ctrl-C (và sau đó nhấn Enter, nếu cần).

Bước 3 - Thu thập nhật ký

Nếu bạn không thấy lỗi ở bước trước, hãy chạy theo dõi để thu thập đầu ra vào tệp nhật ký, ví dụ c:\temp\log1.log:

Windows

Code
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace30.conf > c:\temp\log1.log

Linux

Code
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace30.conf >    log1.log

Để nó chạy để bắt các truy vấn SQL có vấn đề trong một thời gian (tối thiểu là 3-4 phút, khuyến nghị là 1 giờ), sau đó ngắt fbtracemgr bằng Ctrl-C.

Bước 4. Tải lên nhật ký

Tải tệp nhật ký kết quả lên Trace Visualization trên cc.ib-aid.com

Lưu ý, nếu kích thước tệp nhật ký lớn hơn 20Mb, hãy nén nó (bằng zip Windows tiêu chuẩn hoặc zip Linux hoặc 7zip) và tải lên tệp nhật ký đã nén.

Các bước tiếp theo

Xem ví dụ về phân tích nhật ký tại đây: /articles/example-of-performance-analysis

Theo dõi (Tracing) cho Firebird 2.5

Bước 1 - Tệp cấu hình

Sao chép cấu hình sau vào tệp fbtrace25.conf, hoặc tải tệp đã chuẩn bị sẵn từ đây.

Code
    <database>
        enabled true
	log_connections true
	log_statement_finish true
	log_errors true
	print_plan true
	print_perf true
	time_threshold 200
	max_sql_length 65000
	max_blr_length 500
	max_dyn_length 500
	max_arg_length 80
	max_arg_count 50
Code
    </database>

Lưu tệp vào thư mục không có khoảng trắng, ví dụ: C:\temp\fbtrace25.conf, hoặc /opt/fbtrace25.conf

Bước 2 - Kiểm tra cấu hình

Chạy fbtracemgr để kiểm tra cấu hình hoạt động:

Windows

Mở command prompt (chạy cmd.exe), đi đến thư mục Bin của Firebird (có thể là C:\Program Files\Firebird\Firebird_2.5.in hoặc C:\HQbird\Firebird25.in) và chạy (sử dụng mật khẩu SYSDBA thực tế của bạn thay vì masterkey)

Code
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace25.conf

Kết quả, bạn sẽ thấy đầu ra trong command prompt, tương tự như thế này:

Code
Trace session ID 2 started
2021-05-26T10:23:48.5690 (2996:00000000018E0040) ATTACH_DATABASE
        C:\HQBIRD\FIREBIRD30.ECURITY3.FDB (ATT_6189, SYSDBA:NONE, NONE, )

Linux

Mở terminal, sau đó chạy fbtracemgr từ thư mục bin của Firebird (/opt/firebird/bin hoặc /usr/local/bin)

Code
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace25.conf

Bước 3 - Thu thập nhật ký

Nếu bạn không thấy lỗi trên màn hình, hãy chạy theo dõi để thu thập đầu ra dữ liệu vào tệp, ví dụ c:\temp\log1.log:

Windows

Code
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace25.conf > c:\temp\log1.log

Linux

Code
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace25.conf > log1.log

Để nó chạy để bắt các truy vấn SQL có vấn đề trong một thời gian (tối thiểu là 3-4 phút, khuyến nghị là 1 giờ), sau đó ngắt fbtracemgr bằng Ctrl-C.

Bước 4. Tải lên kết quả

Tải tệp nhật ký kết quả lên Trace Visualization trên cc.ib-aid.com

Lưu ý, hãy nén tệp nhật ký nếu nó lớn hơn 20Mb (bằng zip Windows tiêu chuẩn hoặc gz Linux hoặc 7zip) và tải lên tệp nhật ký đã nén. Kích thước tệp nhật ký nén được giới hạn ở 1Gb, các tệp nhật ký lớn hơn sẽ bị xóa.

Bạn cần có tài khoản để đăng nhập.

Sau khi đăng nhập, nhấp vào “Upload” ở góc trên bên phải của widget “Traces”:

Chọn tải lên trace

Sau đó, chọn tệp nhật ký trace (tối đa 120Mb) trên đĩa và nhấp Upload:

chọn tệp trace để tải lên

Quá trình tải lên có thể mất 1-2 phút, tùy thuộc vào tốc độ tải lên của kết nối Internet và kết nối chung của bạn. Các tệp nén được tải lên nhanh hơn do kích thước giảm!

Sau đó, bạn sẽ thấy tệp đã tải lên đang ở trạng thái “Processing”:

Quá trình xử lý thường mất 1-2 phút. Bạn cần sử dụng nút “Refresh” để xem trạng thái xử lý.

Sau khi xử lý hoàn tất, bạn sẽ thấy các liên kết đến báo cáo tóm tắt hiệu suất (cột “Trace summary report”, liên kết “Html”) và biểu đồ trực quan của trace (cột và liên kết “Graphs”):

Nếu bạn nhấp vào “Html”, trang mới với báo cáo tóm tắt trace sẽ xuất hiện.

Báo cáo chứa danh sách các truy vấn hàng đầu, được sắp xếp theo thời lượng (tức là các truy vấn dài nhất), tần suất (các truy vấn thường xuyên nhất), tổng thời gian (các truy vấn SQL chiếm phần lớn thời gian), số lần tìm nạp (các truy vấn tiêu tốn CPU nhiều nhất), số lần đọc (đọc đĩa) và số lần ghi (ghi đĩa).

Ngoài ra, có một bản tóm tắt quy trình, nơi bạn có thể xem các ứng dụng tiêu thụ phần lớn tài nguyên.

Nếu bạn nhấp vào “Graphs”, bạn sẽ thấy biểu đồ trực quan của nhật ký trace, với các truy vấn hàng đầu, được nhóm theo từng phút (theo thời điểm kết thúc thực thi truy vấn).

Nếu bạn nhấp vào một thời điểm cụ thể, bạn sẽ thấy các truy vấn hàng đầu từ nhật ký trace, kế hoạch, tham số, số liệu thống kê của chúng:

Các bước tiếp theo

Xem ví dụ về phân tích nhật ký tại đây: /articles/example-of-performance-analysis