2014-04-11 20 views
7

Tôi đã tạo một số điểm cuối REST bằng cách sử dụng Groovy/Grails thuần túy. Hiện nay hầu hết các hoạt động đều giống như CRUD.Hiệu suất Grails vs Spring cho REST

Tôi bắt đầu so sánh hiệu suất của ứng dụng Grails với ứng dụng Java/Spring tương đương cho các kịch bản CRUD mà tôi đã tạo, sử dụng JMeter. Vì vậy, bây giờ tôi đang dùng một tập con của các kịch bản mà tôi đã thực hiện trong Grails và chuyển sang một ứng dụng Spring MVC cơ bản.

Tôi rất muốn xem các so sánh hiệu suất được xuất bản bởi những người khác trên web. Có ai có thể giới thiệu tôi với một số người không?

Bất kỳ thông tin nào khác liên quan đến việc kiểm tra và phân tích tôi sẽ thực hiện được hoan nghênh. Cảm ơn!


CẬP NHẬT VỀ ĐÁP:

  • @ câu trả lời Lari của dưới đây tham khảo một trang web với các bài kiểm tra cực kỳ toàn diện, so sánh Grails 2.X vs Spring 4.X (xem README.md), ngoài ra còn có vô số khác khuôn khổ.
    • Tuy nhiên, những thử nghiệm có Grails chạy trên Resin khi mùa xuân là trên Tomcat. Một chút lạ với tôi vì Grails sử dụng Tomcat theo mặc định.
    • Nhựa và Tomcat được cho là có similar performance.
  • Trang web có một số phần (tab trên cùng) và thậm chí cả các phần con (tab trong khu vực "Kết quả"). Câu hỏi ban đầu của tôi là về hành vi dịch vụ web cho REST. Để kết thúc ở đây là các phần cấp cao nhất đã trả lời câu hỏi của tôi:
  • Nếu bạn quan tâm đến việc hiển thị HTML, hãy xem ví dụ Fortune Cookie.

Không ngạc nhiên Mùa xuân tốt hơn, nhưng giống như @Joshua chỉ ra, đây là một ví dụ giả tạo và bạn sẽ phải là thẩm phán về những gì ngoại suy từ kết quả. Chưa kể Grails sử dụng Resin trong khi Spring sử dụng Tomcat. Hy vọng rằng mỗi máy chủ (Tomcat/Resin) được cấu hình tương tự về các chủ đề tối đa, bộ nhớ Java, vv? Các tập tin cấu hình có thể được chôn trong source code (nếu bạn tìm hiểu, hãy cho tôi biết). Tôi cũng thiết lập các ứng dụng giả cho Spring 4.X vs Grails 2.X, với Tomcat được cấu hình chính xác như nhau (cả hai đều sử dụng cùng một cài đặt Tomcat độc lập thay vì một gói bên trong Grails). Trong các thử nghiệm của tôi, tôi đã thực hiện một HTTP GET và trả về một mảng JSON đã được tạo thành bằng cách sử dụng các đối tượng trong bộ nhớ tĩnh (được khởi tạo trước) (không có truy vấn DB). Kết quả của tôi cũng cho thấy hiệu suất tốt hơn cho mùa xuân (xin lỗi tôi không thể tìm thấy dữ liệu của tôi nữa!). Tôi đã sử dụng Spring Boot để slap một ứng dụng Spring với nhau một cách nhanh chóng, và Grails đã có giàn giáo theo mặc định.

+1

Thật không may tôi không thể giới thiệu bạn với bất kỳ so sánh nào nhưng tôi rất quan tâm đến kết quả bạn sẽ nhận được. Vui lòng xuất bản chúng. – Opal

+0

Tôi nghĩ rằng một trong những vấn đề chính bạn sẽ thấy là có rất nhiều biến mà ngay cả khi ai đó so sánh hai so sánh sẽ chỉ hợp lệ cho việc thực hiện chính xác đó. Bạn không thể sử dụng loại điểm chuẩn đó để ngoại suy những gì mà một dự án khác sẽ thực hiện. Tuy nhiên, tôi rất vui khi thấy ai đó thực sự đo lường hiệu suất của ứng dụng của riêng họ và không chỉ tạo ra một ứng dụng giả để đo lường. –

Trả lời

1

Hãy xem bài trình bày PLAY VS. GRAILS SMACKDOWN này. Bạn có thể tìm thấy một số kết quả của sự hoàn hảo bên trong.

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