Bộ hẹn giờ Jmeter: Hằng số, Ngẫu nhiên Gauss, Đồng nhất (Ví dụ)

Mục lục:

Anonim

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

Theo mặc định, JMeter gửi yêu cầu mà không tạm dừng giữa mỗi yêu cầu. Trong trường hợp đó, JMeter có thể áp đảo máy chủ thử nghiệm của bạn bằng cách đưa ra 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 nghìn yêu cầu đến một máy chủ web đang được thử nghiệm trong vài giây. Đây là những gì sẽ xảy ra!

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

Ngoài ra, trong cuộc sống 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, Timer sẽ giúp bắt chước hành vi thời gian thực.

Trong hướng dẫn này, bạn sẽ học

  • Hẹn giờ liên tục
  • Hẹn giờ ngẫu nhiên Gaussian
  • Hẹn giờ ngẫu nhiên thống nhất
  • Bộ hẹn giờ BeanShell
  • Bộ hẹn giờ BSF
  • Bộ hẹn giờ JSR223
  • Cách sử dụng bộ hẹn giờ không đổi

Sau đây là một số loại bộ hẹn giờ phổ biến trong JMeter

Hẹn giờ liên tục:

Bộ hẹn giờ liên tục trì hoãn mỗi yêu cầu của người dùng trong cùng một khoảng thời gian.

Hẹn giờ ngẫu nhiên Gaussian:

Bộ đếm thời gian ngẫu nhiên Gaussian 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 .

Thông số:

Thuộc tính Sự miêu tả
Tên Tên mô tả cho bộ hẹn giờ này được hiển thị trên cây
Sai lệch (mili giây) Một tham số của Hàm phân phối Gaussian
Chênh lệch độ trễ liên tục (mili giây) Giá trị bổ sung tính bằng mili giây

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

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

Bộ đếm thời gian ngẫu nhiên đồ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.

Thông số:

Thuộc tính

Sự miêu tả

Tên

Tên mô tả cho bộ hẹn giờ 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.

Chênh lệch độ trễ liên tục (mili giây)

Giá trị bổ sung 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ù đắp.

Bộ hẹn giờ BeanShell

Bộ hẹn giờ BeanShell có thể được sử dụng để tạo thời gian trễ giữa mỗi yêu cầu của người dùng.

Bộ hẹn giờ BSF

Bộ hẹn giờ 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 ngôn ngữ kịch bản BSF.

Bộ hẹn giờ 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 ngôn ngữ kịch bản JSR223

Cách sử dụng bộ hẹn giờ không đổi

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

Hãy bắt đầu với một tập lệnh thử nghiệm đơn giản

  1. JMeter tạo một yêu cầu của người dùng tới http://www.google.com 100 lần
  2. Độ trễ giữa mỗi yêu cầu của người dùng là 5000 mili giây

Đây là lộ trình cho ví dụ thực tế này:

Điều kiện trước:

Chúng tôi sử dụng lại Bước 1 và Bước 2 trong hướng dẫn Kiểm tra hiệu suất JMeter.

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 Nhóm Chủ đề, nhập Thuộc tính Chủ đề như sau

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

Bước 2) Thêm các phần tử JMeter

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

Bước 3) Thêm bộ hẹn giờ không đổi

Nhấp chuột phải vào Nhóm chủ đề -> Bộ hẹn giờ -> Bộ hẹn giờ không đổi

Định cấu hình độ trễ chuỗi 5000 mili giây

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

Xem Kết quả trong Bảng hiển thị kết quả thử nghiệm ở định dạng bảng.

Nhấp chuột phải vào Thêm -> Trình nghe -> Xem kết quả trong bảng

Xem kết quả trong bảng hiển thị như hình dưới đây

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 nút 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

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 lấy mẫu của Mẫu 2 là 172 ms
  • Hẹn giờ liên tục : 5000 ms (như được đị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 tại thời điểm 22: 05: 07.039 (Như trong hình trên)

Độ trễ của mỗi mẫu là 5000 ms

Nếu bạn thay đổi Bộ hẹn giờ không đổi bằng 0 , bạn sẽ thấy kết quả được thay đổi

Hãy phân tích mẫu 1

  • Thời gian bắt đầu là 22: 17: 39.141
  • Thời gian lấy 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

Vì vậy, Mẫu 2 sẽ bắt đầu tại thời điểm là 22: 17: 39.512 (Hiển thị trong hình trên)

Xử lý sự cố:

Nếu bạn gặp sự cố khi chạy trường hợp trên… hãy làm 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ở phiên bản mới của JMeter
  3. Mở TimerTestPlan.jmx trong Jmeter
  4. Nhấp đúp vào Nhóm chủ đề -> Xem kết quả trong bảng
  5. Chạy thử nghiệm