Nguon: Microsoft Learn · .NET 8.0

Kiểm thử tải (Load/Stress Testing) trong ASP.NET Core

Nguồn: ASP.NET Core load/stress testing

Load testing (kiểm thử tải) và stress testing (kiểm thử chịu tải) rất quan trọng để đảm bảo ứng dụng web có hiệu suất tốt và có khả năng mở rộng. Load và stress testing có các mục tiêu khác nhau dù chúng thường dùng chung các bài kiểm thử tương tự.

Load tests: Kiểm thử xem ứng dụng có thể xử lý một lượng người dùng nhất định trong một kịch bản cụ thể trong khi vẫn đáp ứng mục tiêu thời gian phản hồi hay không. Ứng dụng được chạy trong điều kiện bình thường.

Stress tests: Kiểm thử tính ổn định của ứng dụng khi chạy trong điều kiện khắc nghiệt, thường trong thời gian dài. Các bài kiểm thử đặt lên ứng dụng tải người dùng cao, dạng đột biến hoặc tăng dần, hoặc giới hạn tài nguyên máy tính của ứng dụng.

Stress tests xác định xem ứng dụng khi bị stress có thể phục hồi sau sự cố và trở lại hoạt động bình thường một cách nhẹ nhàng hay không. Trong stress testing, ứng dụng được chạy dưới mức stress cao bất thường.

Azure Load Testing là dịch vụ load-testing được quản lý hoàn toàn cho phép bạn tạo tải ở quy mô lớn. Dịch vụ này mô phỏng lưu lượng truy cập cho các ứng dụng, bất kể chúng được host ở đâu. Azure Load Testing Preview cho phép bạn sử dụng các script Apache JMeter hiện có để tạo tải ở quy mô lớn.

Visual Studio 2019 load testing đã bị ngừng hỗ trợ. Dịch vụ cloud-based load testing của Azure DevOps tương ứng đã bị đóng cửa.

Công cụ của bên thứ ba

Danh sách sau chứa các công cụ kiểm thử hiệu suất web của bên thứ ba với các bộ tính năng đa dạng:

Kiểm thử tải và stress với Release builds

Load và stress tests nên được thực hiện ở chế độ release và production, không phải ở chế độ debug và development. Release configurations được tối ưu hóa đầy đủ với mức logging tối thiểu. Debug configuration không được tối ưu. Chế độ Development bật thêm nhiều thông tin logging có thể ảnh hưởng đến hiệu suất.