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

30/12/2020

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 đồ 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ụ:

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

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ụ

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

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 đồ 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.

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

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ổ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/

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Jitsi [Part 1]- Giới thiệu công cụ hội nghị truyền hình mã nguồn mở

Jitsi là giải pháp hội nghị truyền hình được xây dựng dựa trên một loạt các open-source project...
30/12/2020

[DNS] Hoạt động của hệ thống DNS

Ở bài viết trước bạn đã biết được chức năng của DNS và vai trò của nó trên Internet. Vậy...
30/12/2020

[CentOS8] Hướng dẫn cài đặt MariaDB trên CentOS 8

MariaDB là một nhánh của cộng đồng phát triển cơ sở dữ liệu quan hệ MySQL.Trong loạt bài viết...
30/12/2020