Bộ định thời Jmeter: Không đổi, Gaussian ngẫu nhiên, Đồng nhất [Ví dụ]

Bộ hẹn giờ là gì?

Theo mặc định, JMeter gửi yêu cầu không ngừng nghỉ giữa mỗi yêu cầu. Trong trường hợp đó, JMeter có thể chôn máy chủ thử nghiệm của bạn bằng cách thực hiện quá nhiều yêu cầu trong một khoảng thời gian ngắn.

Hãy tưởng tượng rằng bạn gửi hàng ngàn yêu cầu tới máy chủ web đang được thử nghiệm trong vài giây. Đây là những gì sẽ xảy ra!

Bộ hẹn giờ trong JMeter

Bộ hẹn giờ cho phép JMeter đến chậm trễ giữa mỗi yêu cầu mà một luồng thực hiện. Một bộ đếm thời gian có thể giải quyết máy chủ quá tải vấn đề.

Cũng thế, trong đời thực, khách truy cập không đến một trang web cùng một lúc mà vào những khoảng thời gian khác nhau. Vì vậy, Hẹn giờ sẽ giúp bắt chước hành vi theo thời gian thực.

Sau đây là một số chung các loại đồng hồ hẹn giờ trong JMeter

Hẹn giờ liên tục

Bộ định thời liên tục trì hoãn mỗi yêu cầu của người dùng đối với tương tự khoảng thời gian.

Hẹn giờ không đổi trong Jmeter

Bộ đếm thời gian ngẫu nhiên Gaussian

Gaussian bộ đếm thời gian ngẫu nhiên trì hoãn mỗi yêu cầu của người dùng cho một ngẫu nhiên khoảng thời gian.

Bộ đếm thời gian ngẫu nhiên Gaussian trong Jmeter

Thông số Kỹ thuật

đặc tính Mô tả Chi tiết
Họ tên Descriptive tên cho bộ đếm thời gian này được hiển thị trên cây
Độ lệch (mili giây) A tham số của hàm phân phối Gaussian
Độ lệch độ trễ không đổi (mili giây) thêm vào giá trị tính bằng mili giây

Vì vậy, tổng độ trễ được mô tả như hình dưới đây:

Bộ đếm thời gian ngẫu nhiên Gaussian trong Jmeter

Đồng hồ hẹn giờ ngẫu nhiên thống nhất

Bộ định thời ngẫu nhiên thống nhất trì hoãn mỗi yêu cầu của người dùng trong một khoảng thời gian ngẫu nhiên.

Hẹn giờ ngẫu nhiên thống nhất trong Jmeter

Thông số Kỹ thuật

đặc tính Mô tả Chi tiết
Họ tên Descriptive tên cho bộ đếm thời gian này được hiển thị trên cây
Độ trễ ngẫu nhiên tối đa Số mili giây ngẫu nhiên tối đa để trì hoãn.
Độ lệch độ trễ không đổi (mili giây) thêm vào giá trị tính bằng mili giây

Tổng độ trễ là tổng của giá trị ngẫu nhiên và giá trị bù.

Hẹn giờ vỏ đậu

Vỏ đậu Có thể sử dụng bộ hẹn giờ để tạo ra thời gian trễ giữa mỗi yêu cầu của người dùng.

Hẹn giờ BSF

Bộ định thời BSF có thể được sử dụng để tạo độ trễ giữa mỗi yêu cầu của người dùng bằng cách sử dụng BSF ngôn ngữ kịch bản.

Bộ định thời JSR223

Bộ định thời JSR223 có thể được sử dụng để tạo độ trễ giữa mỗi yêu cầu của người dùng bằng cách sử dụng JSR223 ngôn ngữ kịch bản

Cách sử dụng bộ đếm thời gian liên tục

Trong ví dụ này, bạn sẽ sử dụng Hẹn giờ liên tục để thiết lập độ trễ cố định giữa các yêu cầu của người dùng tới google.com.

Hãy bắt đầu với một kịch bản thử nghiệm đơn giản

  1. JMeter tạo ra một người dùng yêu cầu http://www.google.com 100 thời gian
  2. chậm trễ giữa mỗi yêu cầu của người dùng là 5000 ms

Dưới đây là lộ trình cho ví dụ thực tế này:

Sử dụng bộ đếm thời gian liên tục trong Jmeter

Điều kiện trước

We sử dụng lại Bước 1 và Bước 2 trong phần hướng dẫn JMeter Kiểm tra năng suất.

Bước 1) Thêm nhóm chủ đề

Nhấp chuột phải vào Kế hoạch kiểm tra và thêm một nhóm chủ đề mới: Thêm-> Chủ đề (Người dùng) ->Nhóm chủ đề

Trong bảng điều khiển Thread Group, nhập Thread Properties như sau

Thêm nhóm chủ đề

Cài đặt này cho phép JMeter tạo một người dùng yêu cầu http://www.google.com in 100 thời gian

Bước 2) Thêm JMeter các yếu tố

  • Thêm mặc định yêu cầu HTTP
  • Thêm yêu cầu HTTP

Bước 3) Thêm bộ đếm thời gian liên tục

Nhấp chuột phải Nhóm chủ đề -> Hẹn giờ -> Hẹn giờ liên tục

Thêm bộ đếm thời gian liên tục

Định cấu hình Độ trễ luồng là 5000 mili giây

Thêm bộ đếm thời gian liên tục

Bước 4) Thêm xem kết quả trong bảng

Xem kết quả trong bảng hiển thị kết quả kiểm tra ở định dạng bảng.

Click chuột phải Thêm -> Người nghe ->Xem kết quả trong bảng

Thêm Xem kết quả trong bảng

Xem kết quả ở bảng hiển thị như hình bên dưới

Thêm Xem kết quả trong bảng

Bước 5) Chạy thử nghiệm của bạn

Khi bạn đã sẵn sàng chạy thử nghiệm, hãy nhấp vào cuộc chạy trên thanh menu hoặc phím tắt Ctrl + R

Đây là kết quả của bài kiểm tra này

Chạy thử nghiệm

Ví dụ, trong hình trên, hãy phân tích Mẫu 2

  • Thời gian bắt đầu là 22:05:01.866
  • Thời gian mẫu của Mẫu 2 là 172 ms
  • Hẹn giờ liên tục: 5000 ms (như đã định cấu hình)
  • Thời gian kết thúc của mẫu này là = 22:05:01.866 + 172 + 5000 = 22:05:07.038

Vì vậy Mẫu 3 sẽ bắt đầu vào thời điểm là 22:05:07.039 (Như thể hiện trong hình trên)

chậm trễ của mỗi mẫu là 5000 ms

Nếu bạn thay đổi Bộ đếm thời gian không đổi là không, bạn sẽ thấy kết quả đã thay đổi

Chạy thử nghiệm

Hãy phân tích các Mẫu 1

  • Thời gian bắt đầu là 22:17:39.141
  • Thời gian mẫu của Mẫu 2 là 370 ms
  • Hẹn giờ liên tục : 0 ms (như đã định cấu hình)
  • Thời gian kết thúc của mẫu này là = 22:17:39.141+ 370 + 0 = 22:17:39.511

Nên Mẫu 2 nên bắt đầu vào thời điểm đó là 22:17:39.512 (Thể hiện trong hình trên)

Xử lý sự cố

Nếu bạn gặp phải vấn đề khi chạy kịch bản trên… hãy thực hiện như sau

  1. Kiểm tra xem bạn có đang kết nối Internet qua proxy hay không. Nếu có, hãy xóa proxy.
  2. Mở một phiên bản mới của JMeter
  3. Mở Hẹn giờTestPlan.jmx trong Jmeter
  4. Double Bấm vào Nhóm chủ đề -> Xem kết quả trong bảng
  5. Chạy thử nghiệm

Tóm tắt bài viết này với: