Tôi có ứng dụng Rails 3.2.2 mà tôi đang tìm cách chạy bằng JRuby 1.6.7 (chế độ 1.9.2).Hiệu suất JRuby
Tôi có một ứng dụng mẫu chạy trong MRI ruby 1.9.3 và yêu cầu điển hình đang trở lại trong ~ 40ms: Hoàn thành 200 OK trong 36ms (Lượt xem: 27.5ms | ActiveRecord: 8.2ms)
Dưới JRuby sử dụng cùng một yêu cầu là bất cứ nơi nào từ 3 đến 20 lần chậm hơn tùy thuộc vào trang. Đối với cùng một thao tác như trên cần ~ 180ms: Đã hoàn thành 200 OK trong 180ms (Lượt xem: 153.0ms | ActiveRecord: 24.0ms)
Đây có phải là sự khác biệt về hiệu năng bình thường không? Tôi đã đọc rằng JRuby gần như bằng nhau về tốc độ với MRI. Các kết quả giữ trên máy Mac của tôi và một máy chủ Windows (nơi không may nó sẽ cần phải chạy). Đóng gói nó với Warbler chạy dưới Tomcat cũng chậm.
Thời gian trên là từ ứng dụng đường ray cơ bản được tạo để thử nghiệm JRuby. Trên ứng dụng phức tạp hơn, thời gian còn xa nhau hơn. Trên ứng dụng đó có nhiều mã ruby đang chạy trên một số trang. Có vẻ như trang càng nhiều ruby phụ thuộc vào sự khác biệt hiệu suất mà tôi quan sát càng lớn. Tôi đã không thực hiện điều chỉnh JRuby, vì tôi không biết bắt đầu từ đâu.
Vì vậy, câu hỏi của tôi là: điều này có bình thường không? Tôi có thể làm gì để điều chỉnh JRuby?
Chạy ở chế độ 'sản xuất', so với chế độ phát triển mang lại phản hồi nhanh hơn gấp 5-6 lần. Ít nhất đó là trong trường hợp của tôi. Cảm ơn vì đã chú ý điều đó. – Aleks