2010-03-01 35 views
5

tổ chức của chúng tôi đang tìm kiếm một công cụ để giúp kiểm tra hiệu suất trên mỗi bản phát hành. Chúng tôi gửi một loạt các phần mềm mới và chúng tôi muốn đảm bảo rằng hiệu năng trên các chức năng chính đã không bị chậm lại kể từ lần phát hành sản phẩm cuối cùng. Chúng ta có mã trong C# và Java. Đây có thể là bất cứ điều gì từ:công cụ tốt nhất để kiểm tra hồi quy hiệu suất là gì

  1. khi tôi chạy chức năng này phải mất < 2 giây
  2. khi tôi chạy này tập hợp các chức năng tổng < 5 giây
  3. vv. .

Tốt nhất là làm điều này bằng cách sử dụng kiểm tra đơn vị cơ bản của chúng tôi (nunit, junit, team city) với kiểm tra hiệu suất bằng văn bản hoặc có các công cụ cụ thể có thể giúp tập trung vào khu vực này.

Mọi đề xuất?

+0

tôi không biết về bất kỳ công cụ và tôi quan tâm đến câu trả lời mà bạn sẽ nhận được ở đây. Nhưng các bài kiểm tra đơn vị sẽ không phải là nơi cho điều đó bởi vì hiệu suất thay đổi tùy thuộc vào nơi chúng chạy. Ví dụ, trong máy của nhà phát triển, các thử nghiệm có thể thất bại chỉ vì nhà phát triển có các quy trình khác đang chạy trên nền. –

Trả lời

3

Trên các dự án của tôi (có xu hướng sử dụng Spring), tôi sử dụng AOP và PerformanceMonitorInterceptor.

Mặc dù bạn không thể sử dụng Spring, nhưng đó chắc chắn là một số mã tốt để xem và có thể dựa trên phiên bản của riêng bạn. Tôi thấy AOP hoàn hảo cho tình huống này bởi vì nó không làm lộn xộn các cuộc gọi hàm thực sự. Nếu bạn có một ứng dụng tầng, thì bạn có thể đặt các màn hình hiệu suất này ở mỗi cấp. (Điển hình cho webapps của tôi, tôi đặt nó như là lớp truy cập dữ liệu của tôi để tôi có thể theo dõi hiệu suất truy vấn cơ sở dữ liệu.)

0

Những gì chúng tôi sử dụng là python để viết các tập lệnh + ghi nhật ký mở rộng để tạo các bản ghi XML mà sau đó có thể được nhập vào bảng tính.

0

Tôi đã sửa đổi một công cụ gọi là 'Basher' cho phép bạn viết "tác vụ" được hệ thống chọn và sau đó chạy trong một khoảng thời gian có thể cấu hình được (để cho phép JVM làm ấm ví dụ) và sau đó thực hiện chạy, ghi thời gian thực thi nhiệm vụ, mức trung bình và tương tự.

Phiên bản 1.0 đã được lặng lẽ khoảng một thời gian và nếu bạn chăm sóc để có một cái nhìn, nó có sẵn tại http://basher.sourceforge.net

Phiên bản thân chứa một số cải tiến - có tích hợp maven, với cấu hình được quy định trong pom.xml, xương trần của khung báo cáo, v.v.

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