2013-03-01 29 views
9

Tôi đang tiến hành một số nghiên cứu về công nghệ web mới nổi và đã tạo trang web Azure rất đơn giản, sử dụng ổ cắm web và db mongo làm cơ sở dữ liệu. Tôi đã quản lý để có được tất cả các thành phần làm việc cùng nhau và bây giờ phải thực hiện kiểm tra tải trên ứng dụng.Thử nghiệm ứng dụng web Windows Azure cho tải người dùng tối đa

Tiêu chí chính là tải người dùng tối đa mà ứng dụng có thể hỗ trợ, tại thời điểm này có 1 trường hợp vai trò web, vì vậy có lẽ tôi sẽ cần phải kiểm tra tải người dùng tối đa cho trường hợp đó, sau đó thử với 2 trường hợp và trên.

Tôi tìm thấy một số giải pháp trực tuyến như Loadstorm, tuy nhiên tôi không thể trả tiền để sử dụng các dịch vụ này vì vậy tôi cần có khả năng thực hiện điều này từ máy phát triển HOẶC từ dịch vụ đám mây khác.

Tôi đã đi qua Visual Studio tải thử nghiệm và họ có vẻ khá hữu ích, tuy nhiên có vẻ như họ yêu cầu VS Ultimate và một thuê bao msdn hoạt động - điều kiện tiên quyết được liệt kê here. Ngoài ra, từ this video hiển thị các khái niệm cơ bản về kiểm tra tải, có vẻ như các thử nghiệm tải này được tạo hoàn toàn riêng biệt với dự án web thực tế, điều đó có nghĩa là tôi chỉ có thể xem các chỉ số liên quan đến người dùng? tức là tôi không thể thấy lượng RAM đang được sử dụng, bộ xử lý, v.v.

Bất kỳ đề xuất nào?

Trả lời

6

Bạn có thể tạo máy ảo Linux trong Azure hoặc nhà cung cấp dịch vụ lưu trữ khác và sử dụng ApacheBench (ab) hoặc JMeter để thực hiện thử nghiệm tải đơn giản trên ứng dụng của bạn. Lưu ý rằng trong thiết lập như vậy, máy chủ điểm chuẩn của bạn có thể là một nút cổ chai.

phương pháp khác là sử dụng các dịch vụ thử tải trực tuyến Mà cho phép một số sử dụng miễn phí, chẳng hạn như:

+0

Cảm ơn, tôi sẽ kiểm tra loader.io có vẻ thú vị! – Matt

+1

Loader.io đang hoạt động tốt cho nhu cầu của tôi, cảm ơn bạn một lần nữa! – Matt

3

Đối với tải thử nghiệm, LoadStorm có giá rất hợp lý, đặc biệt là so với các phần mềm tại chỗ (và có một tầng miễn phí với lên đến 25 khách hàng ảo). Bạn có thể cài đặt mã như jmeter, nhưng bạn vẫn cần máy (hoặc vm) để lưu trữ và chạy nó, và bạn cần đảm bảo rằng các máy phát tải không phải là nút cổ chai trong các thử nghiệm của bạn.

Khi bạn chạy thử nghiệm của mình, bạn có thể cân nhắc việc tách lớp web của mình khỏi MongoDB. MongoDB sẽ tiêu thụ càng nhiều bộ nhớ càng tốt (vì đó là những gì mang lại cho MongoDB tốc độ của nó). Trong một kịch bản thế giới thực, bạn có thể sẽ có MongoDB trong môi trường riêng của nó. Vì vậy, đối với các bài kiểm tra của bạn, tôi sẽ xem xét việc tải MongoDB về (các) cá thể riêng của nó, và 10gen có một số Worker Role setup khá đơn giản để cài đặt.

Cũng nên nhớ rằng băng thông NIC là 100Mbps trên mỗi lõi, có thể là yếu tố hạn chế trong các thử nghiệm của bạn, tùy thuộc vào lượng tải bạn đang lái.

Một giải pháp thay thế cho tự lưu trữ MongoDB: Tắt MongoDB lên một con hoster như MongoLab. Điều này sẽ cho phép bạn kiểm tra dung lượng của ứng dụng web mà không phải lo lắng về các chi tiết xung quanh thiết lập, cấu hình, tối ưu hóa MongoDB, vv. MongoLab hiện tại cung cấp tầng miễn phí của chúng ở các trung tâm dữ liệu Azure, US West và US East.

+0

Cảm ơn bạn đã nhập liệu! p.s. Tôi sử dụng vai trò công nhân cho MongoDB, trên thực tế mục tiêu tổng thể là kiểm tra khả năng tồn tại của một trang web được xây dựng với Azure, Mongodb và websockets :) – Matt

0

Nếu bạn quan tâm đến việc tìm các bộ đếm hiệu suất của ứng dụng đang được kiểm tra, bạn có thể xem lại một số tính năng mới nhất được thêm vào kiểm tra tải cơ sở của Visual Load Cloud. http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/07/get-application-performance-data-during-load-runs-with-visual-studio-online.aspx

Để có thêm thông tin trên Visual giải pháp kiểm tra tải Studio Mây - https://www.visualstudio.com/features/vso-cloud-load-testing-vs