Tôi có một bộ điều khiển trả về JSON hoặc XML từ một truy vấn quan hệ khá phức tạp với một số logic điều khiển.Rails - Thời gian hoàn thành cho một yêu cầu cao hơn đáng kể so với lần xem và DB
Tôi đã điều chỉnh phía DB bằng cách tinh chỉnh truy vấn của mình và đảm bảo các chỉ mục của tôi là chính xác cho truy vấn của tôi.
Trong log của tôi, tôi thấy các mục như thế này:
Completed in 740ms (View: 1, DB: 50)
Vì vậy, nếu tôi hiểu đúng điều này có nghĩa quan điểm mất 1 giây để render và truy vấn DB là 50ms. Là tất cả thời gian còn lại trong bộ điều khiển? Tôi đã cố gắng bỏ qua logic điều khiển của tôi và chỉ cần để lại to_json của tôi và to_xml trong đó và nó chỉ là chậm. Như một điểm tham chiếu, kết quả trả về JSON trung bình của tôi là 168k.
Có các bước khác đi vào thời gian đã hoàn thành không? Liệu nó có bao gồm thời gian cho đến khi byte cuối cùng cho việc chuyển mạng?
Cập nhật: tôi quấn phần khác nhau của bộ điều khiển của tôi trong khối benchmarking:
self.class.benchmark("Active Record Find") do
#my query here
end
gì tôi thấy được rằng mặc dù dòng nhật ký nói DB: 50 hoạt động kỷ lục tìm tôi đang tiến hành hầu hết các thời gian còn lại. Vì vậy, bây giờ tôi đang bối rối như những gì mà số DB có nghĩa là và lý do tại sao dòng chuẩn sẽ nói ~ 600ms nhưng DB: thời gian sẽ là ~ 50.
Cảm ơn
Xin vui lòng gửi các truy vấn và logic điều khiển – jschorr
bạn đã có nghĩa là 1ms cho xem để render ? – lulalala