8

Tôi là thành viên của nhóm phát triển một sản phẩm dựa trên web mới cho công ty của chúng tôi. Mặc dù chúng tôi khá tích cực nhưng ứng dụng sẽ hoạt động hoàn hảo với mức trung bình dự kiến ​​là 10-50 người dùng đồng thời, chúng tôi có yêu cầu đảm bảo rằng nó sẽ tiếp tục hoạt động chính xác cho 1000 người dùng đồng thời.Những công cụ nào để kiểm tra căng thẳng khá phức tạp một ứng dụng web

Mối quan tâm chính của chúng tôi là việc tải và hiển thị các tài liệu khác nhau từ hệ thống tệp. Để có được các tập tin, người dùng sẽ cần phải đăng nhập, điều hướng đến một trang tìm kiếm, chờ tìm kiếm để hoàn thành, sau đó nhấp vào một liên kết và chờ cho tài liệu tải.

Chúng tôi có SilkTest/TestPartner, có thể được định cấu hình để thực hiện các bước trên, nhưng tôi không tin rằng các công cụ này có thể được sử dụng để mô phỏng tải trong phạm vi chúng tôi yêu cầu.

Bạn có thể đề xuất một số chương trình (tốt nhất là nguồn mở/miễn phí) không? Các sản phẩm thương mại không phải là không đi, nhưng giá không thể lớn lắm :)

Cảm ơn trước!

Trả lời

2

Sử dụng apache's benchmark tool ab.

Từ Wikipedia: ApacheBench:

ApacheBench là một dòng lệnh chương trình máy tính để đo hiệu suất các máy chủ web HTTP, đặc biệt là Apache HTTP Server. Nó được thiết kế để đưa ra ý tưởng về hiệu suất mà một cài đặt Apache được cung cấp . Cụ thể, nó hiển thị số lượng yêu cầu mỗi giây mà máy chủ là có khả năng phân phối.

Bạn có thể cung cấp cặp cookie/giá trị của người dùng đã đăng nhập và trỏ đến URL tìm kiếm, với khả năng cho phép chạy các kết nối đồng thời để mô phỏng người dùng đồng thời.

+0

Anh ấy cần "nhấp vào liên kết và đợi tài liệu tải" sau khi nhận được kết quả tìm kiếm, mà 'ab' sẽ không thể thực hiện được. – sdolan

+2

Chắc chắn nó sẽ không "bấm", nhưng nó sẽ yêu cầu một tài liệu, đó là những gì trình duyệt hiện khi nhấp vào. – aularon

1

tôi khuyên bạn nên thử Microsoft Web Capacity Analysis Tool (WCAT). Nó có thể chạy trên nhiều máy cùng lúc, và mỗi máy khách có thể có nhiều "máy khách ảo", do đó chúng có thể mô phỏng nhiều kết nối tới một máy chủ web. Nó có thể kết nối với bất kỳ máy chủ web nào (được sử dụng bởi một số người cuồng tín Apache), nhưng tất nhiên nó tích hợp tốt nhất với IIS.

Nó được phát triển bởi nhóm thực hiện IIS và được Microsoft sử dụng để kiểm tra căng thẳng máy chủ IIS của họ. Nó có cả hai phiên bản x86 và x64, và dễ dàng tạo các phần mở rộng của riêng bạn cho nó.

Nó hoạt động theo cách sau: bạn tạo tệp kịch bản mà bạn có thể mô tả bất kỳ số lượng yêu cầu HTTP nào. (Nó có các tùy chọn cho GET, POST và cũng có hỗ trợ HTTPS.) Sau đó bạn có thể nhóm các yêu cầu này thành các giao dịch đại diện cho một loạt các yêu cầu để mô phỏng tương tác của người dùng. Mỗi máy khách ảo chạy một giao dịch tại một thời điểm và nó đợi cho đến khi yêu cầu hiện tại hoàn thành trước khi bắt đầu một giao dịch tiếp theo.
Thật dễ dàng để viết một giao dịch có chứa một loạt các yêu cầu có thể mô phỏng người dùng "nhấp" vào mọi thứ. (Cũng có thể "ngủ" trong một khoảng thời gian nhất định giữa các yêu cầu, do đó mô phỏng người dùng đang đọc trang.)

Đây là sự ra đời chính thức:

Web Công cụ Phân tích Công suất (WCAT) là một nhẹ HTTP hệ tải công cụ thiết kế chủ yếu để đo hiệu suất của một máy chủ web trong một môi trường kiểm soát . WCAT có thể mô phỏng hàng nghìn người dùng đồng thời yêu cầu một trang web đơn lẻ hoặc nhiều trang web. Công cụ WCAT sử dụng tập lệnh đơn giản để xác định bộ yêu cầu HTTP được phát quay lại máy chủ web. Khả năng mở rộng được cung cấp thông qua các plugin DLL và API đơn giản, tiêu chuẩn.

Có lẽ nhược điểm duy nhất của nó là nó hơi phức tạp để thiết lập lúc đầu. Nó là một công cụ dòng lệnh vì vậy nó cũng là một chút quá dễ dàng để vít lên với các tham số.

+0

Cảm ơn bạn đã phản hồi chi tiết. Tôi tin rằng đây sẽ là công cụ cuối cùng chúng tôi chọn :) – Sk93

+0

@ Sk93 - Bạn được chào đón. :) – Venemo

2

Apache JMeter chắc chắn sẽ ủng hộ kịch bản của bạn và hỗ trợ Distributed Testing (pdf) mà là một chế độ mà bạn chạy nhiều đại lý trên các máy khác nhau và do đó có thể mở rộng để mô phỏng một số lượng lớn người dùng đồng thời .

2

Bạn có thể thử Trình kiểm tra tải hiệu suất web - đây là sản phẩm thử nghiệm tải có giá trung bình. Nó rẻ hơn nhiều so với SilkPerformer hoặc LoadRunner và hiệu quả hơn nhiều. Nó chỉ giới hạn ở các giao thức web, nhưng điều đó không có vẻ như nó sẽ là một vấn đề cho ứng dụng của bạn. Có video trên trang web sẽ cung cấp cho bạn một cảm giác khá tốt cho công cụ: http://www.webperformanceinc.com/load_testing/demo/

(từ chối trách nhiệm: Tôi làm việc cho hiệu suất web và sử dụng các sản phẩm gần như mỗi ngày)

0

Đối với các trang web phức tạp, bạn có thể sử dụng WebLOAD . Nó không phải miễn phí, nhưng cũng không quá đắt.

0

Rủi ro tài chính nếu ứng dụng không hoạt động/quy mô là gì?

Giá trị tài chính của kết quả thử nghiệm hiệu suất là gì khi quyết định phát trực tiếp hoặc điều chỉnh | sửa đổi ứng dụng hiện có?

Tác động tài chính và giá trị của kết quả thử nghiệm phù hợp với chi phí công cụ của bạn như thế nào?

Nói chung nếu rủi ro đủ cao để đạt được kiểm tra hiệu suất thì giá trị của đầu ra của thử nghiệm hiệu suất rắn sẽ làm giảm chi phí của bất kỳ công cụ nào được triển khai để thực hiện thử nghiệm. Thông báo trước ở đây là bạn cần phải sẵn sàng đưa lên một kỹ sư hiệu suất vững chắc để thiết kế và chạy thử nghiệm, ngay cả những công cụ thử nghiệm tốn kém nhất cũng có thể chạy ROI tiêu cực đáng kể với một người không đủ kỹ năng tại healm (và điều đó xảy ra mọi lúc).

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