ผู้ควบคุมใน JMeter: วนซ้ำ, แบบง่าย, ธุรกรรม, โมดูล, สุ่ม

ตัวควบคุมลอจิกคืออะไร?

ตัวควบคุมลอจิกช่วยให้คุณกำหนดลำดับของการประมวลผลคำขอในเธรด ช่วยให้คุณควบคุม “เมื่อ” ที่จะส่งคำขอของผู้ใช้ไปยังเว็บเซิร์ฟเวอร์ ตัวอย่างเช่น คุณสามารถใช้ Random Controllers เพื่อส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์แบบสุ่ม

ตัวควบคุมลอจิกเป็นผู้กำหนด การสั่งซื้อสินค้า ซึ่งคำขอของผู้ใช้ถูกดำเนินการ

คอนโทรลเลอร์ลอจิกที่ใช้กันทั่วไปบางตัวมีดังต่อไปนี้:

ตัวควบคุมลอจิก

ตัวควบคุมการบันทึก

JMeter สามารถ ระเบียน ธุรกิจ การทดสอบ ขั้นตอน; ตัวควบคุมการบันทึกคือ ตัวยึด เพื่อจัดเก็บขั้นตอนการบันทึกเหล่านี้

ตัวควบคุมการบันทึก

คอนโทรลเลอร์อย่างง่าย

Simple Controller เป็นเพียง ภาชนะ สำหรับคำขอของผู้ใช้

คอนโทรลเลอร์อย่างง่าย

ตัวควบคุมลูป

Loop Controller ทำให้คำขอของผู้ใช้ทำงาน ตามจำนวนครั้งที่กำหนด หรือวิ่ง ตลอดไป ดังแสดงในรูป:

ตัวควบคุมลูป

ตัวควบคุมแบบสุ่ม

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

ตัวอย่างเช่น คุณมีคำขอของผู้ใช้ 3 รายไปยังเว็บไซต์ http://www.google.com ตามลำดับดังนี้:

  1. คำขอ HTTP
  2. คำขอ FTP
  3. คำขอ JDBC

คำขอ 3 รายการเหล่านี้ควรทำงาน 5 ครั้ง คำขอของผู้ใช้ทั้งหมด 15 รายจะถูกส่งไปยังเซิร์ฟเวอร์ของ Google ภายใน JMeter.

In ตามลำดับ สั่งซื้อคำขอจะถูกส่ง ตามลำดับ ตามลำดับดังนี้:

คำขอ HTTP -> คำขอ FTP -> คำขอ JDBC

สำหรับแต่ละวง

ตัวควบคุมแบบสุ่ม

In สุ่ม สั่งซื้อคำขอจะถูกส่งเป็น สุ่ม

คำขอ FTP -> คำขอ HTTP-> คำขอ JDBC

Or

คำขอ JDBC -> คำขอ FTP -> คำขอ HTTP

สำหรับแต่ละวง

โมดูลควบคุม

เป้าหมายของ Module Controller คือการเพิ่มโมดูลาร์เข้าไป JMeter.

แนวคิดทั่วไปก็คือเว็บแอปพลิเคชันประกอบด้วยหน่วยฟังก์ชันเล็กๆ (เช่น เข้าสู่ระบบ สร้างบัญชี ออกจากระบบ…) ฟังก์ชั่นนี้สามารถเก็บไว้ใน คอนโทรลเลอร์อย่างง่าย เป็น “โมดูล” ตัวควบคุมโมดูลจะเลือกโมดูลที่ต้องการเรียกใช้

โมดูลควบคุม

ลองพิจารณาสถานการณ์ต่อไปนี้ –

คุณต้องการจำลอง:

  • ผู้ใช้ 50 ออกจากระบบ,
  • ผู้ใช้ 100 เข้าสู่ระบบ
  • ผู้ใช้ 30 ค้นหา www.google.com

คุณสามารถใช้ได้ JMeter เพื่อสร้าง 3 โมดูล แต่ละโมดูลจำลองแต่ละกิจกรรมของผู้ใช้: การเข้าสู่ระบบ ออกจากระบบ และการค้นหา

โมดูลควบคุม

ตัวควบคุมโมดูลจะเลือกโมดูลที่ต้องการรัน

โมดูลควบคุม

ผู้ควบคุมที่สำคัญอื่น ๆ

  • สอดใบแทรก ผู้ควบคุม: หยิบขึ้นมาและทำ หนึ่ง ของคำขอของผู้ใช้ที่รันเข้ามา แต่ละ ห่วงของด้าย
  • Runtime ตัวควบคุม: การควบคุม นานแค่ไหน ลูกหลานของมันได้รับอนุญาตให้วิ่งได้

ตัวอย่างเช่น หากคุณระบุ Runtime Controller 10 วินาที JMeter จะทำการทดสอบของคุณเป็นเวลา 10 วินาที

ผู้ควบคุมที่สำคัญอื่น ๆ

  • รายการ ตัวควบคุม: วัด เวลาโดยรวม นำตัวไป เสร็จสิ้น การดำเนินการทดสอบ
  • เพิ่ม ตัวควบคุม: ได้รับการออกแบบมาเพื่อใช้แผนการทดสอบภายนอก คอนโทรลเลอร์นี้อนุญาตให้คุณใช้แผนการทดสอบได้หลายแผน JMeter- ดูรายละเอียดใน JMeter การทดสอบประสิทธิภาพ.

ตัวอย่างตัวควบคุมลูป

ส่วนนี้จะแสดงคำแนะนำทีละขั้นตอนในการเพิ่ม ตัวควบคุมลูป ตั้งค่าเป็นแผนการทดสอบประสิทธิภาพปัจจุบันของคุณ

ตัวควบคุมลูปทำให้เครื่องเก็บตัวอย่างทำงานตามจำนวนครั้งที่กำหนด นอกเหนือจากค่าลูปที่คุณระบุไว้สำหรับกลุ่มเธรด เช่น ถ้าคุณ

  • เพิ่มคำขอ HTTP หนึ่งคำขอไปยังตัวควบคุมลูปโดยมีจำนวนการวนซ้ำ 50
  • กำหนดค่าการวนรอบกลุ่มเธรดเป็น 2
  • จากนั้น JMeter จะส่งคำขอ HTTP ทั้งหมด 50 * 2 = 100 รายการ

นี่คือ แผนงาน ของตัวอย่างนี้:

ตัวอย่างตัวควบคุมลูป

ขั้นตอนที่ 1) การกำหนดค่ากลุ่มเธรด

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

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

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

แต่ในแผงควบคุมกลุ่มเธรด ให้ป้อนคุณสมบัติเธรดดังนี้:

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

มันจะทำให้ หนึ่ง คำขอของผู้ใช้ไปยังเว็บเซิร์ฟเวอร์ google.com และเรียกใช้ 2 ครั้ง

  1. เพิ่ม JMeter องค์ประกอบ

เพิ่มค่าเริ่มต้นคำขอ HTTP เป็น www.google.com

  1. การเพิ่มตัวควบคุมลูป

คลิกขวาที่กลุ่มเธรด -> ตัวควบคุมลอจิก -> ตัวควบคุมลูป

การเพิ่มตัวควบคุมลูป

ขั้นตอนที่ 2) การกำหนดค่าตัวควบคุมลูป

เพิ่มค่า 50 ลงในช่อง Loop Count ดังรูปด้านล่าง ก็จะทำให้ หนึ่ง คำขอของผู้ใช้ไปยังเว็บเซิร์ฟเวอร์ google.com เรียกใช้ 50 ครั้ง นอกเหนือจากค่าลูป =2 ที่คุณระบุสำหรับกลุ่มเธรดด้านบน ดังนั้น JMeter จะส่งยอดรวม. 2 * 50 = 100 คำขอ HTTP

การกำหนดค่าตัวควบคุมลูป

คลิกขวาที่ Loop Controller, เพิ่ม -> Sampler -> คำขอ HTTP

การกำหนดค่าตัวควบคุมลูป

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

เราใช้ขั้นตอนที่ 2 อีกครั้งใน เครื่องจับเวลา เพื่อเพิ่มดูผลลัพธ์ในตาราง

ดังนั้นแผนการทดสอบจะแสดงดังรูปด้านล่าง

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

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

ตอนนี้กลับมาดูผลลัพธ์ในตาราง คลิกปุ่มเริ่มบนแถบเมนู (Ctrl+R) เพื่อทำการทดสอบ

ดังแสดงในรูปด้านล่าง JMeter จำลอง คำขอของผู้ใช้หนึ่งคน ซึ่งถูกส่ง 100 ครั้งไปยังเว็บเซิร์ฟเวอร์ http://www.google.com/- การทดสอบจะหยุดลงหลังจากส่งคำขอของผู้ใช้ไปแล้ว 100 ครั้ง

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

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

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

สรุปโพสต์นี้ด้วย: