2008-09-18 37 views

Trả lời

18

Tôi khuyên bạn nên ba dòng

 
log_slow_queries 
set-variable = long_query_time=1 
log-queries-not-using-indexes 

Thứ hai đầu tiên và sẽ đăng nhập bất kỳ truy vấn trên một giây. Như những người khác đã chỉ ra một truy vấn thứ hai là khá xa nếu bạn là một chụp cho một tỷ lệ giao dịch cao trên trang web của bạn, nhưng tôi thấy rằng nó bật lên một số WTF thực; truy vấn nên là nhanh, nhưng đối với bất kỳ kết hợp dữ liệu nào nó chạy thì không.

Người cuối cùng sẽ ghi lại bất kỳ truy vấn nào không sử dụng chỉ mục. Trừ khi bạn đang lưu trữ dữ liệu, bất kỳ truy vấn phổ biến nào cũng sẽ có chỉ mục tốt nhất mà bạn có thể tìm thấy để chú ý đến đầu ra của nó.

Mặc dù nó chắc chắn không phải để sản xuất, lựa chọn cuối cùng này

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

sẽ ghi lại tất cả các truy vấn, có thể hữu ích nếu bạn đang cố gắng để điều chỉnh một trang hoặc hành động cụ thể.

+0

Không biết về các truy vấn đăng nhập-không-sử dụng-chỉ mục, cảm ơn! – Subimage

4

Bất cứ lúc nào/bạn/cảm thấy không được chấp nhận chậm đối với truy vấn trên hệ thống của bạn.

Tùy thuộc vào loại truy vấn bạn chạy và loại hệ thống; một truy vấn mất vài giây có thể không quan trọng nếu đó là một số hệ thống báo cáo back-end thực hiện khai thác dữ liệu phức tạp, vv, một sự chậm trễ không quan trọng, nhưng có thể hoàn toàn không thể chấp nhận được trên một hệ thống hướng đến người dùng.

3

Đặt nó thành bất kỳ thứ gì bạn thích. Vấn đề duy nhất là trong một cổ phiếu MySQL, nó chỉ có thể được thiết lập trong gia số của 1 giây, đó là quá chậm đối với một số người.

Máy chủ sản xuất được sử dụng nhiều nhất thực hiện quá nhiều truy vấn để ghi lại tất cả. Nhật ký chậm là cách lọc nhật ký để chúng tôi có thể xem nhật ký mất nhiều thời gian (hầu hết các truy vấn có thể được thực thi gần như ngay lập tức). Đó là một công cụ cùn.

Đặt thành 1 giây nếu bạn muốn, có thể bạn sẽ không hết dung lượng đĩa hoặc tạo ra sự cố hiệu suất bằng cách thực hiện điều đó.

Thực sự là về nguy cơ cho phép đăng nhập chậm - đừng làm điều đó nếu bạn cảm thấy có khả năng gây ra vấn đề về đĩa hoặc hiệu suất hơn nữa.

Tất nhiên bạn có thể bật nhật ký chậm trên máy chủ không sản xuất và đặt tải mô phỏng qua, nhưng điều đó không bao giờ giống nhau.

+0

giờ đây bạn có thể đặt thành micro giây. – phirschybar

1

Nó không chỉ là một công cụ cùn như độ phân giải, mà còn là một ví dụ của MySQL, vì vậy nếu bạn có các cơ sở dữ liệu khác nhau với các yêu cầu thực hiện khác nhau thì bạn sẽ không may mắn. Rõ ràng là có những cách xung quanh đó, nhưng điều quan trọng là phải ghi nhớ điều đó khi thiết lập cài đặt nhật ký chậm của bạn.

Ngoài các yêu cầu về hiệu suất của ứng dụng, một yếu tố khác cần xem xét là những gì bạn đang cố đăng nhập. Bạn có sử dụng nhật ký để bắt các truy vấn có thể đe dọa tính ổn định của cá thể db của bạn (ví dụ như các kết nối chết hoặc tham gia Descartes) hoặc truy vấn có ảnh hưởng đến hiệu suất cho người dùng cụ thể hay không. Điều đó sẽ ảnh hưởng đến nơi bạn đặt ngưỡng của mình.

3

Peter Zaitsev đăng một số nice article về cách sử dụng nhật ký truy vấn chậm.Một điều ông lưu ý là quan trọng là cũng xem xét tần suất một truy vấn nhất định được sử dụng. Báo cáo chạy một lần một ngày không quan trọng để được nhanh chóng. Nhưng cái gì đó chạy rất thường xuyên có thể là một vấn đề ngay cả khi nó mất nửa giây. Và bạn không thể phát hiện ra rằng không có miếng vá nhỏ.

Các vấn đề liên quan