2010-04-26 53 views
11

Làm cách nào để tôi có thể cấu hình hành động của bộ điều khiển?Tôi làm cách nào để có thể gửi yêu cầu trong Ruby on Rails?

Một trong những quan điểm của tôi là dành một chút thời gian để hiển thị và tôi muốn chia nhỏ nó. Tôi thấy script/performance/profiler, nhưng điều đó dường như chỉ có quyền truy cập vào phạm vi toàn cầu.

Trả lời

8

ruby-prof là cách để thực hiện. Dưới đây là howto, How to profile your Rails and Ruby applications with ruby-prof.

Nếu bạn sử dụng kết hợp với công cụ trực quan như kcachegrind, bạn có thể dễ dàng tách mã đó là mã ứng dụng của bạn khỏi mã khung.

Tôi đã nói chuyện về những công cụ này tại nhóm người dùng Ruby địa phương của tôi trong khi quay lại: Making your rails app kick ass with ruby-prof and kcachegrind.

+0

Tôi đã cố gắng làm theo hướng dẫn trong liên kết được đưa ra ở đây, nhưng phát hiện ra rằng 'script/performance/request' đã bị xóa bắt đầu từ Rails 2.3.2. –

+0

Có, câu trả lời này là Rails-2 cụ thể như tôi đã đưa ra trong năm 2010. Không chắc chắn cách Rails 3 làm việc này ... –

+1

Changelog (http://rails.rubyonrails.org/files/railties/CHANGELOG.html) nói: Xóa tập lệnh/hiệu suất/yêu cầu có lợi cho các bài kiểm tra tích hợp hiệu suất. [Pratik Naik] "Để tiếp tục sử dụng tập lệnh/hiệu suất/yêu cầu, hãy cài đặt plugin request_profiler: cài đặt tập lệnh/plugin git: //github.com/rails/request_profiler.git" –

2

Bảng điều khiển Ruby on Rails sẽ cho bạn biết phần nào sẽ mất một lúc để hiển thị. Nếu đó là không đủ, bạn có thể cài đặt đá quý relic mới (https://github.com/newrelic/rpm) và sử dụng nó trong chế độ nhà phát triển sẽ cung cấp cho bạn một cái nhìn tổng quan về những gì đang xảy ra.

Nếu bạn đang triển khai trên Heroku, bạn có thể thêm phiên bản miễn phí của vòng kết nối sẽ cung cấp cho bạn cùng thống kê về ứng dụng đang chạy của mình.

Ruby có trình thu thập thông tin (http://ruby-prof.rubyforge.org/) sẽ hiển thị cho bạn sử dụng bộ nhớ, thời gian gọi, v.v. nhưng khó có thể phổ biến mã của bạn từ mã khung.

+0

Di tích mới có thể cho bạn biết thêm một chút nhưng không có hồ sơ mã theo từng dòng cần thiết để phân tích hiệu suất đầy đủ. –

+0

và không dưới windof – halfbit

0

Tôi đã có một số thành công với https://github.com/bhb/rack-perftools_profiler

Nó sẽ cho phép bạn cấu hình một đơn hoặc nhiều yêu cầu cho bất kỳ cputime, phương pháp, phân bổ đối tượng hoặc walltime, và tích hợp độc đáo qua rack middleware.

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