ผู้ควบคุมใน JMeter: วนซ้ำ, แบบง่าย, ธุรกรรม, โมดูล, สุ่ม
ตัวควบคุมลอจิกคืออะไร?
ตัวควบคุมลอจิกช่วยให้คุณกำหนดลำดับของการประมวลผลคำขอในเธรด ช่วยให้คุณควบคุม “เมื่อ” ที่จะส่งคำขอของผู้ใช้ไปยังเว็บเซิร์ฟเวอร์ ตัวอย่างเช่น คุณสามารถใช้ Random Controllers เพื่อส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์แบบสุ่ม
ตัวควบคุมลอจิกเป็นผู้กำหนด การสั่งซื้อสินค้า ซึ่งคำขอของผู้ใช้ถูกดำเนินการ
คอนโทรลเลอร์ลอจิกที่ใช้กันทั่วไปบางตัวมีดังต่อไปนี้:
ตัวควบคุมการบันทึก
JMeter สามารถ ระเบียน ธุรกิจ การทดสอบ ขั้นตอน; ตัวควบคุมการบันทึกคือ ตัวยึด เพื่อจัดเก็บขั้นตอนการบันทึกเหล่านี้
คอนโทรลเลอร์อย่างง่าย
Simple Controller เป็นเพียง ภาชนะ สำหรับคำขอของผู้ใช้
ตัวควบคุมลูป
Loop Controller ทำให้คำขอของผู้ใช้ทำงาน ตามจำนวนครั้งที่กำหนด หรือวิ่ง ตลอดไป ดังแสดงในรูป:
ตัวควบคุมแบบสุ่ม
Random Controller ทำให้คำขอของผู้ใช้ทั้งหมดทำงานเข้ามา การสุ่ม ลำดับในแต่ละรอบระยะเวลา
ตัวอย่างเช่น คุณมีคำขอของผู้ใช้ 3 รายไปยังเว็บไซต์ http://www.google.com ตามลำดับดังนี้:
- คำขอ HTTP
- คำขอ FTP
- คำขอ 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 การทดสอบประสิทธิภาพ.
-
เพิ่มกลุ่มเธรด
คลิกขวาที่ แผนการทดสอบ และเพิ่มกลุ่มเธรดใหม่: เพิ่ม-> กระทู้ (ผู้ใช้) ->กลุ่มกระทู้
แต่ในแผงควบคุมกลุ่มเธรด ให้ป้อนคุณสมบัติเธรดดังนี้:
มันจะทำให้ หนึ่ง คำขอของผู้ใช้ไปยังเว็บเซิร์ฟเวอร์ google.com และเรียกใช้ 2 ครั้ง
-
เพิ่ม JMeter องค์ประกอบ
เพิ่มค่าเริ่มต้นคำขอ HTTP เป็น www.google.com
-
การเพิ่มตัวควบคุมลูป
คลิกขวาที่กลุ่มเธรด -> ตัวควบคุมลอจิก -> ตัวควบคุมลูป
ขั้นตอนที่ 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 ครั้ง
การแก้ไขปัญหา
- หากคุณประสบปัญหาขณะดำเนินการตามสถานการณ์ข้างต้น … ให้ทำดังต่อไปนี้
- ตรวจสอบว่าคุณเชื่อมต่ออินเทอร์เน็ตผ่านพรอกซีหรือไม่ ถ้าใช่ ให้ลบพรอกซีออก
- เปิดอินสแตนซ์ใหม่ของ Jmeter
- เปิด คอนโทรลเลอร์TestPlan.jmx ใน Jmeter
- คลิกที่กลุ่มเธรด -> ดูผลลัพธ์ในตาราง
- เรียกใช้การทดสอบ










.png)


.png)


