Ứng dụng tôi đang xử lý đáp ứng hầu hết các yêu cầu với các đối tượng JSON hoặc các bộ sưu tập của chúng. Chúng tôi đang sử dụng Jbuilder để xây dựng các phản hồi đó. Lượng dữ liệu được hiển thị khá lớn (vài nghìn đối tượng trong các cấu trúc lồng nhau khác nhau - một khi được định dạng và mở rộng hoàn toàn, có tới 10.000 dòng JSON cho một phản hồi điển hình). Việc render này chiếm một lượng thời gian đáng kể - khoảng 1/3 tổng thời gian yêu cầu, theo NewRelic.Cải thiện hiệu suất kết xuất với Jbuilder và Rails 3
Tôi đang tìm một số loại hướng dẫn, bộ mẹo hoặc tài nguyên khác sẽ giúp tôi đảm bảo rằng tôi nhận được hiệu suất tốt nhất có thể từ JBuilder. Tôi cũng tò mò nếu có so sánh hiệu suất có sẵn cho Jbuilder so với RABL hoặc các công cụ tương tự khác.
Chỉnh sửa: Tôi đã tìm thấy một GitHub Issue phàn nàn về hiệu suất Jbuilder, nhưng đề xuất thực tế duy nhất của bất kỳ ai được thực hiện là 'không sử dụng Jbuilder'. Vâng, trên thực tế, họ đã sử dụng ngôn ngữ hơi mạnh hơn, nhưng vẫn không có từ nào trên lý do tại sao Jbuilder quá chậm, cái gì, nếu có, có thể được thực hiện để thực hiện hoặc sử dụng các công cụ khác cho cùng một công việc so sánh.
Chuyển sang MultiJson dường như cắt giảm khoảng 60ms trong 400ms để chúng tôi chi tiêu hiển thị cho một yêu cầu điển hình. Không phải là sự thay đổi lớn mà tôi đã hy vọng, nhưng đối với một sự thay đổi một dòng, không tệ chút nào. Cảm ơn. – MrTheWalrus
Có. Điều này. Là. Tuyệt quá. – maletor
@Frederick: Tôi thấy một dòng thay đổi từ liên kết: - https://github.com/fcheung/jbuilder/commit/a58b355f68bc39b1fddf8b178f3844c5d4f65501 sáp nhập với đường ray chính, vì vậy tôi đoán chúng tôi không cần thực hiện bất kỳ thay đổi nào. Bạn có thể vui lòng xác nhận nếu suy luận của tôi là chính xác. – boddhisattva