Từ Code đến System

Linux, Performance Testing

Performance Testing [Phần 5] Hướng dẫn sử dụng Gatling Report

Một trong nhưng ưu điểm của Gatling khi đánh giá với các công cụ benchmark web khác là khả năng xuất report đơn giản, dễ hiểu. Trong bài mình sẽ hướng dẫn các bạn đọc, phân tích biểu đồ của Gatling Report.

Tổng quan

Một trong nhưng ưu điểm của Gatling khi đánh giá với các công cụ benchmark web khác là khả năng xuất report đơn giản, dễ hiểu. Trong bài mình sẽ hướng dẫn các bạn đọc, phân tích biểu đồ của Gatling Report.

Chuẩn bị

Trước khi bắt đầu, chúng ta cần report mẫu để phân tích. Ở đây mình sử dụng bài test có được từ phần 2 và chạy 1 kịch bản test để lấy kết quả.

Mình sẽ thực hiện bài test tạo ra 10 user trong vòng 60 giây tức cứ mỗi 6 giây Gatling sẽ tạo ra 1 user thực hiện thao tác giả lập.

Đồng thời mình cũng cài đặt script monitor nhỏ lên web mình benchmark để log hỗ trợ việc phân tích. Các bạn tham khảo script tại đây

Phân tích report

Biểu đồ 1: Biểu đồ tổng quan

Biểu đồ 1 sẽ gồm biểu đồ Indicatos và Number of request. Mục tiêu miêu tả tổng quan về phân phối phản hồi trong các phạm vi tiểu chuẩn cũng như các request thất bại. VD, bài test đã thực hiện hơn 6000 request

Mặc định Gatling sẽ đánh giá phản hồi như sau:

  • Từ 0 – 800 ms: phản hồi tốt (Phản hồi nhanh)
  • Từ 800 ms – 1200 ms (1.2 giây): phản hồi trung bình
  • Trên 1200 ms (1.2 giây): là phản hồi chậm

Chúng ta có thể chỉnh sửa lại các ngưỡng trên bằng tùy chỉnh lại settings gatling tùy nhiên mình sẽ hướng dẫn các bạn trong bài khác.

Biểu đồ 2: Phân tích phản hồi của request

Biểu đồ 2 phân tích phản hồi của các request đã thực hiện. Bao gồm số request thành công, thất bại, tỷ lệ gửi request mỗi giây, phản hồi nhanh nhất và chậm nhất, trung bình trong khoảng … Ví dụ “truy_cap_trang_chu” có phản hồi nhanh nhất là 441 ms và chậm nhất là 1024 ms.

Ngoài ra chúng ta có thể xem chi tiết phân tích 1 loại request, mục tiêu đánh giá 1 tính năng xử lý nhanh hay chậm

Phân tích request_0

  • Request có tên “truy_cap_trang_chu”
  • Thực hiện tổng cộng 10 request và không có thất bại
  • Thời gian phản hồi nhanh nhất 441 ms
  • Thời gian phản hồi chậm nhất 1024 ms tức 1 giây
  • Phản hồi trung bình là 543 ms

Biểu đồ 3: Phân phối user được gatling tạo theo thời gian

Biểu đồ Active Users along the Simulation

Biểu đồ 3 thông kế số user đang thực hiện kịch bản test hay có bao user mô phòng đang truy cập web trong khoảng thời gian bài test được chạy. Ví dụ tại thời điểm A có 2 user, tại thời điểm B có 5 user.

Ví dụ:

Tại thời điểm có 4 user giả lập đang thao tác

Biểu đồ 4: Phân phối phản hồi

Biểu đồ Response Time Percentiles over Time (OK)

Biểu đồ 4 thể hiện phân phối thời gian phản hồi của tất cả request. VD, có tầm 37% request có phản hồi trong 23 ms

Ví dụ

Có 37% request có phản hồi trong 23 ms

Biểu đồ 5: Phân phối phản hồi theo thời gian

Biểu đồ Response Time Percentiles over Time (OK)

Biểu đồ 5 thể hiện phân phối thời gian phản hồi của tất cả request theo khoảng thời gian. VD, tại thời điểm A, request có phản hồi nhanh nhất là 8 ms, phản hồi chậm nhất là 399 ms.

Ví dụ

Biểu đồ 6: Phân phối request gửi đi trong một giây

Biểu đồ Number of requests per second

Biểu đồ 6 thể hiện tổng số request thực hiện trong một giây theo khoảng thời gian thực hiện bài test. VD, tại thời điểm A thực hiện tổng cộng 22 request.

Tại thời điểm có tổng 22 request được thực hiện, 5 user truy cập đồng thời

Biểu đồ 7: Phân phối phản hồi nhận được trong một giây

Number of responses per second

Biểu đồ 7 thể hiện tổng số phản hồi nhận được trong một giây theo khoảng thời gian thực hiện bài test. VD, tại thời điểm A nhận được tổng cộng 22 phản hồi.

Tại thời điểm, nhận được tổng cộng 22 phản hồi, 5 user đang truy cập

Tổng kết

Kịch bản mình thực hiện là tạo ra 10 user trong vòng 60 giây tức cứ 6 giây Gatling sẽ tạo ra 1 user thực hiện thao tác giả lập tới trang web chỉ định.

Qua report mình thông tin mình có được:

  • Thời điểm có số user truy cập cao nhất là 6
  • Tổng số request gửi đi nhiều nhất là 23
  • Phản hồi nhanh nhất là 8 ms
  • Phản hồi chậm nhất là 1024 ms tức 1 giây

Các bạn tham khảo thêm script scala tại đây.

Nguồn

https://gatling.io/docs/2.2/general/reports/

Leave a Reply