JMeter องค์ประกอบและส่วนประกอบ: กลุ่มเกลียว, ตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
JMeter องค์ประกอบต่างๆ เปรียบเสมือนส่วนประกอบพื้นฐานของแผนการทดสอบทุกแผน: กลุ่มเธรด (Thread Groups) สร้างผู้ใช้เสมือน ตัวอย่างการส่งคำขอ (Samplers) แสดงผลลัพธ์ ตัวรับฟัง (Listeners) แสดงผลลัพธ์ และองค์ประกอบการกำหนดค่า (Configuration Elements) จัดเตรียมค่าเริ่มต้นและข้อมูลที่คำขอเหล่านั้นต้องการ
Element อยู่ในอะไร JMeter?
ส่วนประกอบต่าง ๆ ของ JMeter เรียกว่าธาตุ แต่ละองค์ประกอบได้รับการออกแบบเพื่อวัตถุประสงค์เฉพาะ
รูปด้านล่างแสดงองค์ประกอบทั่วไปบางประการ JMeter และแสดงให้เห็นว่าพวกมันอยู่ภายใต้กลุ่มเธรดอย่างไร
การศึกษาองค์ประกอบทั้งหมดในคราวเดียวจะนำไปสู่ความสับสนและความเบื่อหน่าย ดังนั้น ในที่นี้ เราจะมาพูดถึงองค์ประกอบที่จำเป็นต้องรู้ก่อนเริ่มต้นกัน การทดสอบ in JMeter.
ส่วนประกอบที่เหลือจะได้รับการอธิบายเมื่อมีการใช้งานในบทเรียนถัดไป ส่วนประกอบที่กล่าวถึงในบทเรียนนี้มีดังต่อไปนี้
กลุ่มกระทู้
กลุ่มเธรด (Thread Group) คือกลุ่มของเธรด โดยแต่ละเธรดแทนผู้ใช้หนึ่งรายที่ใช้งานแอปพลิเคชันที่กำลังทดสอบ กล่าวคือ แต่ละเธรดจำลองคำขอของผู้ใช้จริงหนึ่งรายไปยังเซิร์ฟเวอร์
ส่วนควบคุมสำหรับกลุ่มเธรดช่วยให้คุณสามารถกำหนดจำนวนเธรดสำหรับแต่ละกลุ่มได้
ตัวอย่างเช่น หากคุณตั้งค่าจำนวนเธรดเป็น 100 JMeter โปรแกรมจะสร้างและจำลองคำขอของผู้ใช้ 100 รายไปยังเซิร์ฟเวอร์ที่กำลังทดสอบ ดังแสดงในแผนภาพด้านล่าง
แผงกลุ่มเธรดยังมีช่วงเวลาเตรียมพร้อม ซึ่งจะกระจายการเริ่มต้นของเธรดเหล่านั้นออกไปตามช่วงเวลา แทนที่จะเริ่มต้นผู้ใช้ทุกคนพร้อมกัน
เครื่องเก็บตัวอย่าง
อย่างที่เรารู้ JMeter รองรับการทดสอบ HTTP, FTP, JDBC และโปรโตคอลอื่น ๆ อีกมากมาย
นอกจากนี้ เรายังทราบว่า Thread Groups จำลองการร้องขอของผู้ใช้ไปยังเซิร์ฟเวอร์
แต่ Thread Group จะรู้ได้อย่างไรว่าต้องส่งคำขอประเภทใด (HTTP, FTP เป็นต้น)?
คำตอบคือ Samplers
คำขอของผู้ใช้สามารถเป็นคำขอ FTP, คำขอ HTTP, คำขอ JDBC และอื่นๆ ได้ ภาพด้านล่างแสดงรายการตัวอย่างที่กล่าวถึงในบทช่วยสอนนี้
คำขอ FTP
สมมติว่าคุณต้องการทดสอบประสิทธิภาพของเซิร์ฟเวอร์ FTP คุณสามารถใช้เครื่องมือ FTP Request sampler ในการทดสอบได้ JMeter เพื่อทำภารกิจนี้ ตัวควบคุมนี้ช่วยให้คุณส่งคำขอ "ดาวน์โหลดไฟล์" หรือ "อัปโหลดไฟล์" FTP ไปยังเซิร์ฟเวอร์ FTP
ตัวอย่างเช่น หากคุณต้องการดาวน์โหลดไฟล์ “Test.txt” จากเซิร์ฟเวอร์ FTP ที่กำลังทดสอบ คุณจะต้องกำหนดค่าพารามิเตอร์บางตัวใน JMeter ดังแสดงในรูปด้านล่าง
แผงควบคุมจะตั้งค่าเซิร์ฟเวอร์เป็น ftp.example.comพอร์ต 21 ไฟล์ระยะไกลไปยัง Test.txt และตัวเลือก get(RETR) ดังนั้น JMeter ส่งคำสั่ง FTP ไปยังเซิร์ฟเวอร์นั้นและดาวน์โหลดไฟล์
คำขอ HTTP
ตัวอย่างนี้ช่วยให้คุณสามารถส่งคำขอ HTTP/HTTPS ไปยังเว็บเซิร์ฟเวอร์ได้
ลองพิจารณาตัวอย่างด้านล่าง JMeter ส่งคำขอ HTTP ไปยัง Google เว็บไซต์และดึงไฟล์ HTML หรือรูปภาพจากเว็บไซต์นั้น
ในบทช่วยสอน JMeter การทดสอบประสิทธิภาพเราจะอธิบายเพิ่มเติมเกี่ยวกับคำขอ HTTP นี้ มันเป็นตัวอย่างที่ใช้กันมากที่สุด การทดสอบแอปพลิเคชันเว็บ งานนั้นขึ้นอยู่กับ...
คำขอ JDBC
ตัวอย่างนี้ช่วยให้คุณสามารถเรียกใช้ฐานข้อมูลได้ การทดสอบประสิทธิภาพ- มันส่งคำขอ JDBC (แบบสอบถาม SQL) ไปยังฐานข้อมูล
ตัวอย่างเช่น เซิร์ฟเวอร์ฐานข้อมูลมีฟิลด์ test_result ที่เก็บไว้ในตารางชื่อ test_tbl คุณต้องการเรียกดูข้อมูลนี้จากเซิร์ฟเวอร์ฐานข้อมูล ดังนั้นคุณจึงสามารถกำหนดค่าได้ JMeter เพื่อส่งไฟล์ SQL ส่งคำขอไปยังเซิร์ฟเวอร์นี้เพื่อดึงข้อมูล
ประเภทของคำสั่งค้นหาในที่นี้คือคำสั่งเลือก (Select Statement) และคำสั่งค้นหามีดังนี้ select test_result from test_tbl where id = 1องค์ประกอบการกำหนดค่าการเชื่อมต่อ JDBC ต้องระบุพูลที่ฟิลด์ชื่อตัวแปรชี้ไป
เครื่องเก็บตัวอย่าง BSF
ตัวอย่างนี้ช่วยให้คุณสามารถเขียนตัวอย่างโดยใช้ BSF ภาษาสคริปต์
ต่อไปนี้เป็นตัวอย่างของเครื่องเก็บตัวอย่าง BSF ใน JMeterโดยมีช่องสำหรับภาษาของสคริปต์ พารามิเตอร์ที่ส่งไปยังสคริปต์ และสคริปต์แบบฝังในโค้ดหรือไฟล์สคริปต์ภายนอก
หมายเหตุเกี่ยวกับการยกเลิกการใช้งาน: ตระกูลองค์ประกอบ BSF ถูกยกเลิกการใช้งานและแทนที่ด้วยองค์ประกอบ JSR223 และไม่ปรากฏในอีกต่อไป JMeter การอ้างอิงส่วนประกอบในเวอร์ชันปัจจุบัน ให้ใช้ เครื่องสุ่มตัวอย่าง JSR223 สีสดสวย Groovyซึ่งจะคอมไพล์สคริปต์และทำงานได้ดีขึ้นมากภายใต้ภาระงานหนัก แผงควบคุมด้านบนยังคงเก็บไว้ที่นี่เนื่องจากแผนการทดสอบเก่าๆ ยังคงมีอยู่
การเข้าถึงตัวอย่างบันทึก
ตัวอย่างโค้ดนี้ช่วยให้คุณอ่านบันทึกการเข้าถึงและสร้างคำขอ HTTP ได้ โดยข้อมูลในบันทึกอาจเป็นรูปภาพ HTML CSS และอื่นๆ
ค่าเริ่มต้นของฟิลด์ Parser คือ org.apache.jmeter.protocol.http.util.accesslog.TCLogParserและช่องตำแหน่งไฟล์บันทึกจะชี้ไปยังตำแหน่งนั้น JMeter ที่บันทึกที่คุณต้องการเล่นซ้ำ
ตัวอย่าง SMTP
หากคุณต้องการทดสอบเซิร์ฟเวอร์อีเมล คุณสามารถใช้ SMTP Sampler ได้ เครื่องมือนี้ใช้สำหรับส่งข้อความอีเมลโดยใช้โปรโตคอล SMTP
แผงควบคุมนี้จะจัดกลุ่มการตั้งค่าเซิร์ฟเวอร์ ที่อยู่อีเมล การตรวจสอบสิทธิ์ และการตั้งค่าข้อความ และจะแสดงพอร์ตเริ่มต้นไว้ข้างช่องพอร์ต ได้แก่ SMTP 25, SSL 465 และ StartTLS 587
ฟัง
โปรแกรมฟังเสียงจะแสดงผลลัพธ์ของการทดสอบ โดยสามารถนำเสนอผลลัพธ์ในรูปแบบต่างๆ เช่น แผนผังต้นไม้ ตาราง กราฟ หรือไฟล์บันทึก
การขอ ผลลัพธ์กราฟ โปรแกรม Listener จะแสดงเวลาตอบสนองของเซิร์ฟเวอร์บนกราฟ โดยมีจำนวนตัวอย่าง ค่าเฉลี่ย ค่าเบี่ยงเบน ปริมาณงาน และค่ามัธยฐานพิมพ์อยู่ด้านล่าง
ดูผลลัพธ์แบบแผนผัง แสดงผลลัพธ์ของคำขอของผู้ใช้แต่ละรายการในรูปแบบ HTML พื้นฐาน โดยมีแท็บผลลัพธ์ของ Sampler รายงานเวลาในการโหลด ความหน่วง ขนาด และรหัสการตอบสนอง
ดูผลลัพธ์ในรูปแบบตาราง แสดงสรุปผลการทดสอบในรูปแบบตาราง โดยแต่ละแถวแทนตัวอย่างหนึ่งตัวอย่าง
ไฟล์บันทึกจะบันทึกข้อมูลสรุปเดียวกันในรูปแบบข้อความ ซึ่งเป็นสิ่งที่คุณเก็บไว้เมื่อทำการทดสอบโดยไม่ใช้ GUI
ปฏิบัติที่ดีที่สุด: โปรแกรมรับฟังการเปลี่ยนแปลงจาก GUI ใช้หน่วยความจำและทำให้ผลลัพธ์คลาดเคลื่อน ดังนั้นควรทำการทดสอบโหลดจริงในโหมดที่ไม่ใช้ GUI และเปิดไฟล์ผลลัพธ์ที่บันทึกไว้หลังจากนั้น
องค์ประกอบการกำหนดค่า
องค์ประกอบการกำหนดค่าจะตั้งค่าเริ่มต้นและตัวแปรต่างๆ สำหรับการใช้งานในภายหลังโดยเครื่องสุ่มตัวอย่าง
รูปด้านล่างแสดงองค์ประกอบการกำหนดค่าที่ใช้กันทั่วไปบางส่วน JMeter.
การกำหนดค่าชุดข้อมูล CSV
สมมติว่าคุณต้องการทดสอบเว็บไซต์สำหรับผู้ใช้ 100 คนที่เข้าสู่ระบบด้วยข้อมูลประจำตัวที่แตกต่างกัน คุณไม่จำเป็นต้องบันทึกสคริปต์ 100 ครั้ง คุณสามารถกำหนดพารามิเตอร์ให้กับสคริปต์เพื่อป้อนข้อมูลประจำตัวการเข้าสู่ระบบที่แตกต่างกันได้ ข้อมูลการเข้าสู่ระบบเหล่านี้ (เช่น ชื่อผู้ใช้และรหัสผ่าน) สามารถจัดเก็บไว้ในไฟล์ข้อความได้ JMeter มีองค์ประกอบหนึ่งที่ช่วยให้คุณอ่านค่าพารามิเตอร์ต่างๆ จากไฟล์ข้อความนั้นได้ นั่นคือ "CSV Data Set Config" ซึ่งใช้สำหรับอ่านบรรทัดจากไฟล์และแยกออกเป็นตัวแปรต่างๆ
นี่คือตัวอย่างข้อมูล CSV ซึ่งเป็นไฟล์ข้อความที่ประกอบด้วยชื่อผู้ใช้และรหัสผ่านที่ใช้ในการเข้าสู่ระบบเว็บไซต์เป้าหมายของคุณ
ตัวจัดการคุกกี้ HTTP
ให้เราเข้าใจสิ่งนี้ด้วยตัวอย่าง
คุณใช้เบราว์เซอร์ของคุณ (Firefox(เช่น Chrome เป็นต้น) เพื่อใช้ในการเรียกดู www.google.com.
คุณเข้าสู่ระบบโดยใช้ชื่อผู้ใช้และรหัสผ่านของคุณ
ชื่อผู้ใช้และรหัสผ่านของคุณจะถูกจัดเก็บไว้ในคอมพิวเตอร์ของคุณในรูปแบบคุกกี้
ครั้งหน้าเมื่อมาเยือน. www.google.comคุณไม่จำเป็นต้องล็อกอินอีกครั้ง เนื่องจากเบราว์เซอร์ของคุณจะใช้คุกกี้เป็นข้อมูลผู้ใช้ในการล็อกอินอยู่แล้ว
ตัวจัดการคุกกี้ HTTP มีคุณสมบัติเช่นเดียวกับเว็บเบราว์เซอร์ หากคุณมีการร้องขอ HTTP และการตอบกลับมีคุกกี้ ตัวจัดการคุกกี้จะจัดเก็บคุกกี้นั้นโดยอัตโนมัติและนำไปใช้กับการร้องขอในอนาคตทั้งหมดไปยังเว็บไซต์นั้นๆ
ค่าเริ่มต้นของคำขอ HTTP
องค์ประกอบนี้ช่วยให้คุณตั้งค่าเริ่มต้นที่ตัวควบคุมคำขอ HTTP ของคุณใช้
ตัวอย่างเช่น
คุณกำลังส่งคำขอ HTTP จำนวน 100 รายการไปยังเซิร์ฟเวอร์ google.com
คุณจะต้องป้อนชื่อเซิร์ฟเวอร์ google.com ด้วยตนเองสำหรับคำขอทั้ง 100 รายการ
อีกทางเลือกหนึ่ง คุณสามารถเพิ่มองค์ประกอบ HTTP Request Defaults เพียงรายการเดียว โดยตั้งค่าฟิลด์ “Server Name or IP” เป็น google.com ดังแสดงด้านล่าง
ไม่จำเป็นต้องพิมพ์ซ้ำ 100 ครั้ง ส่วนประกอบนี้จะได้รับการอธิบายอย่างละเอียดในบทเรียน JMeter การทดสอบประสิทธิภาพ.
องค์ประกอบการกำหนดค่าการเข้าสู่ระบบ
องค์ประกอบการกำหนดค่าการเข้าสู่ระบบช่วยให้คุณสามารถเพิ่มหรือแก้ไขการตั้งค่าชื่อผู้ใช้และรหัสผ่านในแซมpler ได้
ตัวอย่างเช่น คุณต้องการจำลองการล็อกอินของผู้ใช้หนึ่งรายเข้าสู่เว็บไซต์ www.facebook.com โดยใช้ชื่อผู้ใช้และรหัสผ่าน คุณสามารถใช้ส่วนประกอบการกำหนดค่าการเข้าสู่ระบบ (Login Config Element) เพื่อเพิ่มการตั้งค่าชื่อผู้ใช้และรหัสผ่านนี้ในคำขอของผู้ใช้ได้
องค์ประกอบการกำหนดค่าการเข้าสู่ระบบเทียบกับการกำหนดค่าชุดข้อมูล CSV
| องค์ประกอบการกำหนดค่าการเข้าสู่ระบบ | การกำหนดค่าชุดข้อมูล CSV |
|---|---|
| ใช้เพื่อจำลองการเข้าสู่ระบบของผู้ใช้หนึ่งคน | ใช้เพื่อจำลองการเข้าสู่ระบบของผู้ใช้หลายคน |
| เหมาะสำหรับใส่ข้อมูลการเข้าสู่ระบบเท่านั้น (ชื่อผู้ใช้และรหัสผ่าน) | เหมาะสำหรับพารามิเตอร์จำนวนมาก |
องค์ประกอบทั้งสองนี้ครอบคลุมสถานการณ์การตรวจสอบคุณสมบัติเกือบทุกรูปแบบที่คุณอาจพบเจอ เครื่องมือทดสอบประสิทธิภาพ ทำงาน



















.png)

