Giới Thiệu Thành Phần Cơ Bản Của Jmeter

Trong bài hôm nay chúng tôi sẽ giới thiệu cho các bạn làm quen với thành phần chính của JMeter (GUI). Nếu bạn chưa biết cách cài đặt và khởi chạy JMeter vui lòng tham khảo thêm ở đây để cài đặt JMeter.

Thành phần cơ bản của Jmeter

JMeter cung cấp tất cả những thành phần cơ bản để phục vụ cho việc thiết kế kế hoạch, thực thi và giám sát kết quả trong suốt quá trình test. Những thành phần cơ bản của JMeter là:

  • Thread Group
  • Controller ( Sampler và Logic Controller)
  • Configuration Element
  • Listener
  • Timer

Thread Group

performance jmeter

Một Thread Group đại diện cho một nhóm người dùng, và nó chứa tất cả những yếu tố khác. Mỗi Thread Group sẽ mô phỏng những người dùng để thực hiện một trường hợp thử nghiệm cụ thể. Thread Group cho phép tùy chỉnh những thông số:
Number of Threads: Mỗi Thread đại diện cho một người dùng ảo, JMeter cho phép thay đổi số lượng người dùng không hạn chế để thực hiện các thử nghiệm.
Ram-Up Period: Thời gian để bắt đầu tất cả những Thread.
– Loop Count: Số lần lặp lại những yêu cầu của người dùng. Ngoài ra còn có những tùy chọn khác như việc chạy các Thread vào lịch biểu định sẵn, xác định hành động sẽ thực hiện khi xảy ra lỗi…

Ví dụ:

Number of Threads: 100 (số lượng users kết nối: 100)
Loop Count: 10 (số lần thực hiện test)
Ramp-Up Period: 100
Thread Count và Loop Counts là khác nhau:

Ramp-Up Period cho biết thời gian trì hoãn trước khi bắt đầu tới người dùng tiếp theo. Ở ví dụ này, nếu có 100 users và thời gian Ramp-Up 100 giây thì thời gian trễ giữa các user bắt đầu sẽ là 1 giây (100 giây / 100 user)

Controller

– HTTP Request Defaults: Định nghĩa trang web mà mình sẽ thực hiện xuyên suốt kịch bản test. Một kịch bản test có thể có nhiều Http request khác nhau ở các URI (Path) khác nhau, nhưng đều xuất phát ở cùng 1 domain được định nghĩa ở HTTP Request Defaults.
Tạo HTTP Request Defaults: Add > Config Element > HTTP Request Defaults.

– HTTP Request: Định nghĩa 1 request mô phỏng cho 1 chức năng/thao tác của user trên hệ thống.
Tạo HTTP Request: Add -> Sampler -> HTTP Request.

Configuration Element

– HTTP Cookie Manager: Hầu hết các trang web đều sử dụng cookie để lưu dữ liệu. Do đó, cần thêm element này để có thể lưu dữ liệu của user sau khi thực hiện controller login.
– CSV Data Set Config: Dùng để quy định file dữ liệu đầu vào cho kịch bản test với nhiều người dùng khác nhau cùng sử dụng 1 chức năng.
Stepc5
– Filename: đường dẫn tới file dữ liệu
Varible names: Tên các biến mình định nghĩa, theo thứ tự dữ liệu từ trái qua phải
– Delimiter: Kí tự dùng để phân cách giá trị các biến.

Listener

Công cụ Listener mà JMeter cung cấp cho phép xem những kết quả thu được từ việc chạy thử nghiệm dưới các dạng khác nhau như: đồ thị, bảng biểu, cây.. Các listeners sẽ cung cấp một cách trực quan nhất những dữ liệu thu thập được từ việc thực thi các Test case. Tester cũng sẽ có thể tùy chỉnh những thông tin mà Listener trả về một cách dễ dàng bởi các tính năng trong giao diện cụ thể của từng Listener. Có rất nhiều dạng Listener được JMeter cung cấp, có thể kể đến một số Listener thường được sử dụng để cung cấp như:

– View Results in Table: Cho phép theo dõi các thông tin về số thứ tự yêu cầu, thời gian bắt đầu mỗi yêu cầu, người sử dụng (ảo) thực hiện yêu cầu, thời gian phản hồi của mỗi yêu cầu, dung lượng mỗi yêu cầu trả về.
– View Results Tree: Cho phép theo dõi thông tin của dữ liệu mà Server trả về cho mỗi người dùng dưới các dạng khác nhau.
– Graph Results: Trả về đồ thị biểu diễn những thông số về: Số lượng yêu cầu, lượng yêu cầu được xử lý mỗi phút, giá trị trung bình, giá trị trung vị của toàn bộ thời gian phản hồi từ server.
– Summary Report: Cung cấp báo cáo về các giá trị: thời gian phản hồi thấp nhất/cao nhất, số yêu cầu xảy ra lỗi, lưu lượng trung bình.

Timer
Timer là một phần rất quan trọng khi xây dựng một Test Plan, nó cho phép cài đặt khoảng thời gian giữa 2 yêu cầu kế tiếp nhau mà người dùng ảo gửi đến máy chủ. Điều này sẽ tạo ra một mô phỏng thực tế nhất so với hoạt động thực tế của người dùng trên website.
JMeter cung cấp nhiều Timer với các dạng khác nhau để thiết lập thời gian nghỉ giữa việc thực hiện 2 yêu cầu , như :
Constant Timer: xác lập thời gian là một hằng số.
Uniform Random Timer: xác lập thời gian nghỉ ở một khoảng xác định.
Để sử dụng Timer, ta tạo 1 Flow control action và đặt timer vào trong Follow đó.
Tạo Flow control action: Add -> Sampler -> Follow Control Action
Sau đó ta chọn thêm Timer cho Action này. Ở đây ta sử dụng Uniform Random Timer

Action này sẽ “Pause” lại trong khoảng từ 500 ms -> 1000 ms. Rồi mới chuyển qua request tiếp theo.

Vậy là chúng tôi đã giới thiệu các thành phần quan trọng của Jmeter trước khi bắt đầu xây dựng một kịch bản test cụ thể.

Nguồn: https://jmeter.apache.org/usermanual/test_plan.html

Leave a Reply