2012-02-16 40 views
8

Tôi đang cố gắng tối ưu hóa trang web của mình, để làm điều đó, tôi muốn biết hành động nào đang tạo nhiều truy vấn hơn những truy vấn khác. Có cách nào để biết số lần truy cập DB được thực hiện bởi một hành động?Đếm số lượng truy vấn trong Rails

+8

https://github.com/comboy/sql_queries_count – user1743790

+0

Dude! Đây hoàn toàn là những gì tôi đang tìm kiếm! Cảm ơn! – joeloui

+0

Được kết hợp với dấu đầu dòng từ câu trả lời bên dưới, nó đã làm điều kỳ diệu trong khoảng một giờ. Cảm ơn bạn! – Brandon

Trả lời

9

tôi tìm thấy những viên ngọc rất hữu ích cho việc kiểm tra các vấn đề và tối ưu hóa truy vấn

+0

và Yes newrelic là cũng tuyệt vời. – Naveed

+0

Quy tắc mới! nhưng nó quá đắt, tôi đã sử dụng nó nhưng với kiến ​​thức của tôi, Newrelic thiếu tính năng này ... Tôi nhìn vào đá quý mặc dù. – joeloui

+0

Yeah là tốn kém Im thưởng thức phiên bản miễn phí: D – Naveed

0

Bạn có thể xem nhật ký đường ray để xem số lượng & số lượng truy vấn được kích hoạt cho mỗi yêu cầu. Nhưng cơn đau thường xuyên của nó đi qua nhật ký mỗi lần để xem yêu cầu nào đang mất thời gian.

Thông thường tôi sử dụng đá quý newrelic trong quá trình phát triển để xem hành động nào mất nhiều thời gian hơn và sẽ cố gắng tối ưu hóa các truy vấn. Tham khảo http://newrelic.com/docs/ruby/developer-mode để biết thêm thông tin về newrelic trong mô hình phát triển.

Cũng dựa trên cơ sở dữ liệu và phiên bản đường ray có những viên đá quý khác (https://github.com/flyerhzm/bullet) cho bạn biết cách truy vấn được thực hiện trong một yêu cầu cụ thể.

+0

Như tôi đã nói với @Naveed, Newrelic là một công cụ rất hữu ích để đo lường và cải thiện hiệu suất ứng dụng của bạn ... nhưng không hoàn toàn tôi đang tìm kiếm, tuy nhiên Bullet có lẽ đó là những gì tôi cần ... – joeloui

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