2008-08-21 45 views
52

"Microsoft SQL Server Profiler là một giao diện người dùng đồ họa cho SQL Trace để theo dõi một thể hiện của Database Engine hoặc Analysis Services."Có tương đương Profiler cho MySql không?

Tôi tìm thấy bằng cách sử dụng SQL Server Profiler cực kỳ hữu ích trong quá trình phát triển, thử nghiệm và khi tôi gỡ lỗi các vấn đề về ứng dụng cơ sở dữ liệu. Có ai biết nếu có một chương trình tương đương cho MySql?

Trả lời

30

Điều gì đó thú vị trong phiên bản 5.0.37 của máy chủ cộng đồng là MySQL's new profiler .

Điều này có thể cung cấp cho bạn thông tin bạn đang tìm kiếm.

+11

FYI, liên kết ở trên dường như là đã chết, nó dẫn tôi đến một trang tìm kiếm Orace trống. Đây là một liên kết đến cú pháp SHOW PROFILES sẽ giúp bạn thực hiện những gì bạn muốn làm: http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html. – Bialecki

+3

FYI: Cập nhật liên kết ban đầu với ảnh chụp nhanh từ waybackmachine – Leigh

0

Tôi không biết về bất kỳ ứng dụng hồ sơ nào như vậy, nhưng thường là sử dụng cú pháp GIẢI THÍCH để phân tích truy vấn. Bạn có thể sử dụng chúng để tìm ra các chỉ mục tốt nhất để tạo hoặc bạn có thể thử thay đổi truy vấn tổng thể và xem cách thay đổi hiệu quả, v.v.

1

Nếu phiên bản 5.0.37 không khả dụng, bạn có thể muốn xem mytop. Nó chỉ đơn giản là kết quả đầu ra tình trạng hiện tại của máy chủ, nhưng cho phép bạn chạy EXPLAIN như (đã đề cập bởi mercutio) trên các truy vấn cụ thể.

8

Bạn có muốn theo dõi hiệu suất hay chỉ xem những truy vấn nào đang thực thi? Nếu sau này, bạn có thể cấu hình MySQL để ghi lại tất cả các truy vấn được đưa ra. Trên một hộp RedHat Linux, bạn có thể thêm

log = /var/lib/mysql/query.log

đến [mysqld] phần của /etc/my.cnf trước khi khởi động lại MySQL.

Hãy nhớ rằng trong một kịch bản cơ sở dữ liệu bận rộn, các nhật ký đó có thể phát triển khá lớn.

3

Jet Profiler là tốt nếu đó là một phiên bản trả tiền. LogMonitor chỉ trỏ nó vào tệp nhật ký mysql.

6

Hãy thử JET profiler là công cụ chẩn đoán và hiệu suất truy vấn thời gian thực! Tôi sử dụng nó trong công việc của mình. Phần mềm tuyệt vời và hỗ trợ. Review Jet Profiler for MySQL

2

Theo ý kiến ​​của tôi, tôi đã tìm thấy tất cả mọi thứ ở đây trong tình trạng thô ....

Tìm và mở tập tin cấu hình MySQL của bạn, thường /etc/mysql/my.cnf trên Ubuntu. Hãy tìm những mục “Logging và Replication”

# * Logging and Replication 
# Both location gets rotated by the cronjob. 
# Be aware that this log type is a performance killer. 

log = /var/log/mysql/mysql.log 

hoặc trong các phiên bản mới hơn của mysql, bình luận OUT dòng này của mã

general_log_file  = /var/log/mysql/mysql.log 
general_log    = 1 
log_error    = /var/log/mysql/error.log 

Chỉ cần bỏ ghi chú “đăng nhập” biến để bật ghi nhật ký. Khởi động lại MySQL bằng lệnh này: sudo /etc/init.d/mysql restart

Bây giờ chúng tôi sẵn sàng bắt đầu theo dõi các truy vấn khi chúng vào. Mở một thiết bị đầu cuối mới và chạy lệnh này để cuộn tệp nhật ký , điều chỉnh đường dẫn nếu cần.

tail -f /var/log/mysql/mysql.log 
+0

Mọi người đang báo cáo rằng điều này không hoạt động trong phiên bản mới nhất và sử dụng: 'general_log = on' ' general_log_file =/path/to/query.log' thay thế mà tôi đã tìm thấy tại https://stackoverflow.com/questions/6479107/how-to-enable-mysql-query-log#comment50242203_6479183 –

0

Không chắc về giao diện người dùng đồ họa nhưng có một lệnh đó đã giúp tôi hồ sơ thủ tục được lưu trữ rất nhiều trong MySQL sử dụng bàn làm việc:

SET profiling = 1; 
call your_procedure; 
SHOW PROFILES; 
SET profiling = 0; 
Các vấn đề liên quan