ตัวจับเวลา Jmeter: ค่าคงที่, สุ่มแบบเกาส์เซียน, สม่ำเสมอ [ตัวอย่าง]

ตัวจับเวลาคืออะไร?

โดยค่าเริ่มต้น JMeter ส่งคำขอ โดยไม่หยุด ระหว่างแต่ละคำขอ ในกรณีนั้น, JMeter ได้ ครอบงำ เซิร์ฟเวอร์ทดสอบของคุณด้วยการร้องขอมากเกินไปในระยะเวลาอันสั้น

ลองจินตนาการว่าคุณส่ง พัน ร้องขอไปยังเว็บเซิร์ฟเวอร์ภายใต้การทดสอบภายในไม่กี่วินาที นี่คือสิ่งที่เกิดขึ้น!

ตัวจับเวลาใน JMeter

ตัวจับเวลาอนุญาต JMeter ไปยัง ความล่าช้า ระหว่างแต่ละคำขอที่เธรดทำ ตัวจับเวลาสามารถแก้ปัญหาเซิร์ฟเวอร์ได้ เกินพิกัด ปัญหา

นอกจากนี้ ในชีวิตจริง ผู้เยี่ยมชมไม่ได้มาถึงเว็บไซต์พร้อมกัน แต่ในช่วงเวลาต่างกัน ดังนั้นตัวจับเวลาจะช่วยเลียนแบบพฤติกรรมแบบเรียลไทม์

ต่อไปนี้เป็นบางส่วน ร่วมกัน ประเภทของตัวจับเวลาใน JMeter

ตัวจับเวลาคงที่

ตัวจับเวลาคงที่ทำให้คำขอของผู้ใช้แต่ละรายล่าช้า เดียวกัน ระยะเวลา

ตัวจับเวลาคงที่ใน Jmeter

ตัวจับเวลาสุ่มแบบเกาส์เซียน

เสียน ตัวจับเวลาแบบสุ่มทำให้คำขอของผู้ใช้แต่ละรายล่าช้า สุ่ม ระยะเวลา

ตัวจับเวลาแบบสุ่มแบบเกาส์เซียนใน Jmeter

พารามิเตอร์

คุณลักษณะ Descriptไอออน
Name Descriptฉันชื่อตัวจับเวลานี้ที่แสดงในแผนผัง
การเบี่ยงเบน (มิลลิวินาที) A พารามิเตอร์ ของฟังก์ชันการกระจายแบบเกาส์เซียน
ค่าชดเชยการหน่วงเวลาคงที่ (มิลลิวินาที) เพิ่มเติม ค่าเป็นมิลลิวินาที

ดังนั้นความล่าช้าทั้งหมดจึงอธิบายได้ดังรูปด้านล่าง:

ตัวจับเวลาแบบสุ่มแบบเกาส์เซียนใน Jmeter

ตั้งเวลาสุ่มสม่ำเสมอ

ตัวจับเวลาสุ่มแบบสม่ำเสมอจะทำให้คำขอของผู้ใช้แต่ละรายล่าช้าเป็นระยะเวลาสุ่ม

ตัวจับเวลาแบบสุ่มสม่ำเสมอใน Jmeter

พารามิเตอร์

คุณลักษณะ Descriptไอออน
Name Descriptฉันชื่อตัวจับเวลานี้ที่แสดงในแผนผัง
ความล่าช้าแบบสุ่มสูงสุด จำนวนมิลลิวินาทีสุ่มสูงสุดที่จะหน่วงเวลา
ค่าชดเชยการหน่วงเวลาคงที่ (มิลลิวินาที) เพิ่มเติม ค่าเป็นมิลลิวินาที

ความล่าช้าทั้งหมดคือผลรวมของค่าสุ่มและค่าออฟเซ็ต

เครื่องจับเวลา BeanShell

เหตุการณ์ บีนเชลล์ สามารถใช้ตัวจับเวลาได้ สร้าง เวลาหน่วงระหว่างคำขอของผู้ใช้แต่ละคน

เครื่องจับเวลา BSF

BSF Timer สามารถใช้เพื่อสร้างความล่าช้าระหว่างคำขอของผู้ใช้แต่ละรายโดยใช้ BSF ภาษาสคริปต์

JSR223 เครื่องตั้งเวลา

JSR223 Timer สามารถใช้เพื่อสร้างความล่าช้าระหว่างคำขอของผู้ใช้แต่ละรายโดยใช้ เจเอสอาร์223 ภาษาสคริปต์

วิธีการใช้ตัวจับเวลาคงที่

ในตัวอย่างนี้ คุณจะใช้ ตัวจับเวลาคงที่ ในการตั้งค่า ความล่าช้าคงที่ ระหว่างคำขอของผู้ใช้ไปยัง google.com

เริ่มต้นด้วยสคริปต์ทดสอบง่ายๆ

  1. JMeter สร้าง หนึ่ง คำขอของผู้ใช้ไปที่ http://www.google.com 100 ครั้ง
  2. ความล่าช้า ระหว่างคำขอของผู้ใช้แต่ละคนคือ 5000 ms

ที่นี่คือ แผนงาน สำหรับตัวอย่างเชิงปฏิบัตินี้:

ใช้ตัวจับเวลาคงที่ใน Jmeter

Pre-เครื่อง

We กลับมาใช้ ขั้นตอนที่ 1 และขั้นตอนที่ 2 ในบทช่วยสอน JMeter การทดสอบประสิทธิภาพ.

ขั้นตอนที่ 1) เพิ่มกลุ่มเธรด

คลิกขวาที่ แผนการทดสอบ และเพิ่มกลุ่มเธรดใหม่: เพิ่ม-> กระทู้ (ผู้ใช้) ->กลุ่มกระทู้

ในแผงควบคุม Thread Group ให้ป้อน Thread Properties ดังต่อไปนี้

เพิ่มกลุ่มเธรด

การตั้งค่านี้ช่วยให้ JMeter สร้าง หนึ่ง คำขอของผู้ใช้ไปที่ http://www.google.com in 100 ครั้ง

ขั้นตอนที่ 2) เพิ่ม JMeter องค์ประกอบ

  • เพิ่มค่าเริ่มต้นคำขอ HTTP
  • เพิ่มคำขอ HTTP

ขั้นตอนที่ 3) เพิ่มตัวจับเวลาคงที่

คลิกขวาที่ กลุ่มกระทู้ -> เครื่องจับเวลา -> ตัวจับเวลาคงที่

เพิ่มตัวจับเวลาคงที่

การกำหนดค่าความล่าช้าของเธรด 5000 มิลลิวินาที

เพิ่มตัวจับเวลาคงที่

ขั้นตอนที่ 4) เพิ่มดูผลลัพธ์ในตาราง

ดูผลลัพธ์ในตาราง แสดงผลการทดสอบในรูปแบบตาราง

คลิกขวา เพิ่ม -> ผู้ฟัง ->ดูผลลัพธ์ในตาราง

เพิ่มดูผลลัพธ์ในตาราง

ดูผลลัพธ์ในตารางจะแสดงดังภาพด้านล่าง

เพิ่มดูผลลัพธ์ในตาราง

ขั้นตอนที่ 5) ดำเนินการทดสอบของคุณ

เมื่อคุณพร้อมที่จะทำการทดสอบแล้ว คลิก วิ่ง บนแถบเมนูหรือปุ่มลัด Ctrl + R

นี่คือผลลัพธ์ของการทดสอบนี้

เรียกใช้การทดสอบ

ดังตัวอย่างในรูปด้านบนนี้ เรามาวิเคราะห์กัน ตัวอย่าง 2

  • เวลาเริ่มต้น คือ 22:05:01.866
  • เวลาตัวอย่าง ของตัวอย่างที่ 2 คือ 172 ms
  • ตัวจับเวลาคงที่: 5000 ms (ตามที่กำหนดค่าไว้)
  • เวลาสิ้นสุด ของตัวอย่างนี้คือ = 22:05:01.866 + 172 + 5000 = 22:05:07.038

ดังนั้นตัวอย่างที่ 3 ควรเริ่มในเวลาคือ 22:05:07.039 (ดังแสดงในรูปด้านบน)

เหตุการณ์ ความล่าช้า ของแต่ละตัวอย่างคือ 5000 ms

หากเปลี่ยนค่า Constant Timer คือ เป็นศูนย์คุณจะเห็นผลลัพธ์ที่เปลี่ยนไป

เรียกใช้การทดสอบ

มาวิเคราะห์กัน ตัวอย่าง 1

  • เวลาเริ่มต้น คือ 22:17:39.141
  • เวลาตัวอย่าง ของตัวอย่างที่ 2 คือ 370 ms
  • ตัวจับเวลาคงที่ : 0 ms (ตามที่กำหนดค่าไว้)
  • เวลาสิ้นสุด ของตัวอย่างนี้คือ = 22:17:39.141+ 370 + 0 = 22:17:39.511

ดังนั้น ตัวอย่าง 2 ควรเริ่มในเวลาที่เป็น 22:17:39.512 (แสดงในรูปด้านบน)

การแก้ไขปัญหา

หากคุณประสบปัญหาขณะดำเนินการตามสถานการณ์ข้างต้น … ให้ทำดังต่อไปนี้

  1. ตรวจสอบว่าคุณเชื่อมต่ออินเทอร์เน็ตผ่านพรอกซีหรือไม่ ถ้าใช่ ให้ลบพรอกซีออก
  2. เปิดตัวอย่างใหม่ของ JMeter
  3. เปิด ตัวจับเวลาTestPlan.jmx ใน Jmeter
  4. Double คลิกที่กลุ่มเธรด -> ดูผลลัพธ์ในตาราง
  5. เรียกใช้การทดสอบ