Test performance API bằng tool JMETER

1. Download tool Jmeter

2. Giới thiệu cách dùng tool Jmeter

2.1. Tạo test plan

Note: mỗi giao diện chỉ có duy nhất một Test plan, bên dưới mỗi Test plan phải có ít nhất 1 phần tử test group

2.1.1. Tạo thread group:

B1: Mở Jmeter -> chuột phải vào Test plan -> chọn Add -> chọn Thread groups

B2: Điền thông số về users để run test:

- Name: tên của threads group (đại diện cho group các users hoặc group các action)

- Number of  Threads (users): số lượng user sẽ thực hiện action

- Rump up period: tổng số thời gian để tất cả users đã điền ở Number of Threads chạy action (đơn vị: giây)

- Loop count: số vòng lặp (số lần lặp lại khi tất cả users đã chạy hết một lượt)

2.1.2. Tạo sampler (tạo các phần tử con)

B1: Chuột phải vào Test plan -> chọn Add -> chọn Sampler -> Chọn HTTP Request

B2: Điền thông số ở màn HTTP Request

- Name: tên của request

- Protocol: http/https

- Sever Name or IP: domain của trang web cần test (không chứa http/https)

- Path: đường dẫn

2.1.3. Tạo listener (phương thức xem test result)

Chuột phải vào Thread groups -> chọn Add -> chọn Listener -> chọn cách thức muốn xem test result (các option thường chọn: View results tree, Summary Report)

2.1.4. Run test (button có hình mũi tên hướng bên phải màu xanh lá, nằm trên thanh công cụ)

2.1.5. Example

Muốn gửi request vào trang: https://jmeter.apache.org/download_jmeter.cgi

- Protocol: https

- Sever Name or IP: jmeter.apache.org

- Path:/download_jmeter.cgi

2.2. Đọc test result

Chọn phương thức xem test result: Summary Report

Ý nghĩa các thông số:

  • Label: Danh sách các request đã chạy
  • Samples: Tổng số các request đã chạy
  • Average: Thời gian phản hồi trung bình của tất cả các request (đơn vị: millisecond)
  • Min: Thời gian phản hồi nhanh nhất của 1 request (đơn vị: millisecond)
  • Max: Thời gian phản hồi chậm nhất của 1 request (đơn vị: millisecond)
  • std.Dev: độ lệch chuẩn (đơn bị: giây)

Note: Độ lệch chuẩn càng nhỏ càng tốt

  • Error %: Phần trăm các request bị fail
  • Throughput: số request server xử lý xong trong 1 giây

Note:  đại điện cho khả năng xử lý độ tải của server nên throughput càng cao thể hiện hiệu suất sever càng tốt. Do đó, Throughput là thông số quan trọng nhất

  • Received Kb/s: lưu lượng mà server trả về (đơn vị: Kilobytes/s)
  • Sent Kb/s: lưu lượng mà client gửi tới server (đơn vị: Kilobytes/s)
  • avg.byte: lưu lượng trung bình mà server trả về (đơn vị: bytes)

Tham khảo: https://www.youtube.com/@JMeterVN