วิธีใช้ JMeter สำหรับการทดสอบประสิทธิภาพและโหลด
JMeter โหลดการทดสอบ
JMeter โหลดการทดสอบ เป็นกระบวนการทดสอบที่ทำโดยใช้เครื่องมือทดสอบโหลดชื่อ Apache JMeter ซึ่งเป็นแอปพลิเคชันเดสก์ท็อปโอเพ่นซอร์สที่ใช้ Java. JMeter สำหรับการทดสอบโหลดเป็นเครื่องมือสำคัญที่กำหนดว่าเว็บแอปพลิเคชันที่ทดสอบสามารถตอบสนองความต้องการโหลดสูงได้หรือไม่ นอกจากนี้ยังช่วยวิเคราะห์เซิร์ฟเวอร์โดยรวมภายใต้ภาระงานหนัก
JMeter การทดสอบประสิทธิภาพ
JMeter การทดสอบประสิทธิภาพ is การทดสอบ วิธีการดำเนินการโดยใช้ Apache JMeter เพื่อทดสอบประสิทธิภาพของเว็บแอปพลิเคชัน JMeter สำหรับการทดสอบประสิทธิภาพช่วยในการทดสอบทรัพยากรทั้งแบบคงที่และไดนามิก ช่วยค้นหาผู้ใช้พร้อมกันบนเว็บไซต์และให้การวิเคราะห์กราฟิกที่หลากหลายสำหรับการทดสอบประสิทธิภาพ JMeter การทดสอบประสิทธิภาพประกอบด้วยการทดสอบโหลดและการทดสอบความเค้นของเว็บแอปพลิเคชัน
Apache JMeter เครื่องมือทดสอบมีข้อเสนอดังต่อไปนี้ ประโยชน์ in การทดสอบประสิทธิภาพ
- JMeter สามารถใช้ทดสอบประสิทธิภาพของทั้งสองอย่างได้ คงที่ ทรัพยากรเช่น Javaต้นฉบับ และ HTML อีกด้วย พลวัต ทรัพยากร เช่น JSP, Servlets และ AJAX
- JMeter สามารถ ค้นพบ จำนวนผู้ใช้พร้อมกันสูงสุดที่เว็บไซต์ของคุณสามารถรองรับได้
- JMeter มีการวิเคราะห์กราฟรายงานประสิทธิภาพที่หลากหลาย
JMeter การทดสอบประสิทธิภาพประกอบด้วย:
- โหลด การทดสอบ: การสร้างแบบจำลองการใช้งานที่คาดหวังโดยการจำลองการเข้าถึงของผู้ใช้หลายคน บริการเว็บ พร้อมกัน
- ความตึงเครียด การทดสอบ: ทุกเว็บเซิร์ฟเวอร์มีความสามารถในการโหลดสูงสุด เมื่อโหลดเกินขีดจำกัด เว็บเซิร์ฟเวอร์จะเริ่มตอบสนองช้าและก่อให้เกิดข้อผิดพลาด วัตถุประสงค์ของการ การทดสอบความเครียด คือการค้นหาโหลดสูงสุดที่เว็บเซิร์ฟเวอร์สามารถรองรับได้
รูปด้านล่างแสดงวิธีการ JMeter การทดสอบโหลดจำลองการบรรทุกหนัก:
สร้างแผนการทดสอบประสิทธิภาพใน JMeter
ในบทช่วยสอนนี้ เรากำลังทำการวิเคราะห์ประสิทธิภาพของ Google.com สำหรับผู้ใช้ 1000 รายโดยใช้ฟีเจอร์ต่างๆ เครื่องมือทดสอบประสิทธิภาพ เพื่อให้แน่ใจว่าเว็บไซต์สามารถรองรับโหลดและมอบประสบการณ์ผู้ใช้ที่ราบรื่น
ก่อนที่จะทดสอบประสิทธิภาพของเว็บแอปพลิเคชันเป้าหมาย เราควรพิจารณา-
- โหลดปกติ: จำนวนผู้ใช้โดยเฉลี่ยที่เข้าชมเว็บไซต์ของคุณ
- ภาระหนัก: จำนวนผู้ใช้สูงสุดที่เยี่ยมชมเว็บไซต์ของคุณ
- ของคุณคืออะไร เป้า ในการทดสอบนี้?
ที่นี่คือ แผนงาน ของตัวอย่างเชิงปฏิบัตินี้
ขั้นตอนที่ 1) เพิ่มกลุ่มเธรด
- เริ่มต้น JMeter
- เลือก แผนการทดสอบ บนต้นไม้
- เพิ่ม กลุ่มกระทู้
คลิกขวาที่ "Test Plan" และเพิ่มกลุ่มเธรดใหม่: เพิ่ม -> กระทู้ (ผู้ใช้) -> กลุ่มกระทู้
ในแผงควบคุมกลุ่มเธรด ให้ป้อนคุณสมบัติเธรดดังนี้:
- จำนวนเธรด: 100 (จำนวนผู้ใช้ที่เชื่อมต่อกับเว็บไซต์เป้าหมาย: 100)
- จำนวนลูป: 10 (จำนวนเวลาในการดำเนินการทดสอบ)
- Ramp- ระยะเวลาขึ้น: 100
จำนวนเธรดและจำนวนลูปคือ ต่าง
Rampระยะเวลา -Up บอก JMeter นานแค่ไหน ความล่าช้า ก่อนที่จะเริ่มใช้งานผู้ใช้รายถัดไป ตัวอย่างเช่น หากเรามีผู้ใช้ 100 รายและมีเวลา 100 วินาที Ramp- ระยะเวลาเพิ่มขึ้น จากนั้นความล่าช้าระหว่างผู้ใช้ที่เริ่มต้นจะเป็น 1 วินาที (100 วินาที / 100 ผู้ใช้)
ขั้นตอนที่ 2) การเพิ่ม JMeter องค์ประกอบ
ตอนนี้เรากำหนดอะไร JMeter องค์ประกอบในการทดสอบนี้ องค์ประกอบได้แก่
-
คำขอ HTTP เป็นค่าเริ่มต้น
สามารถเพิ่มองค์ประกอบนี้ได้โดยการคลิกขวาที่กลุ่มเธรดและเลือก: เพิ่ม -> กำหนดค่าองค์ประกอบ -> ค่าเริ่มต้นคำขอ HTTP
ในแผงควบคุมค่าเริ่มต้นคำขอ HTTP ให้ป้อนชื่อเว็บไซต์ภายใต้การทดสอบ (http://www.google.com)
-
คำขอ HTTP
คลิกขวาที่กลุ่มเธรดและเลือก: เพิ่ม -> ตัวอย่าง -> คำขอ HTTP.
ในแผงควบคุมคำขอ HTTP ฟิลด์เส้นทางจะระบุว่าช่องใด คำขอ URL คุณต้องการส่งไปยังเซิร์ฟเวอร์ของ Google
เช่น หากคุณป้อน “ปฏิทิน” ในช่องเส้นทาง JMeter จะสร้างคำขอ URL http://www.google.com/calendar ไปยังเซิร์ฟเวอร์ของ Google
หากคุณเก็บฟิลด์ Path ไว้ ว่างเปล่า JMeter จะสร้างคำขอ URL http://www.google.com ไปยังเซิร์ฟเวอร์ของ Google
ในการทดสอบนี้ คุณจะต้องเว้นฟิลด์ Path ว่างไว้เพื่อทำ JMeter สร้างคำขอ URL http://www.google.com ไปยังเซิร์ฟเวอร์ของ Google
ขั้นตอนที่ 3) การเพิ่มผลลัพธ์กราฟ
JMeter สามารถแสดงผลการทดสอบในรูปแบบกราฟได้
คลิกขวาที่แผนการทดสอบ เพิ่ม -> ผู้ฟัง -> ผลลัพธ์กราฟ
ขั้นตอนที่ 4) เรียกใช้การทดสอบและรับผลการทดสอบ
ข่าวประชาสัมพันธ์ วิ่ง ปุ่ม (Ctrl + R) บนแถบเครื่องมือเพื่อเริ่มกระบวนการทดสอบซอฟต์แวร์ คุณจะเห็นผลการทดสอบแสดงบนกราฟแบบเรียลไทม์
รูปภาพด้านล่างแสดงกราฟของแผนการทดสอบ ซึ่งเราจำลองผู้ใช้ 100 คนที่เข้าถึงบนเว็บไซต์ www.google.com.
ที่ด้านล่างของรูปภาพมีสถิติต่อไปนี้แสดงเป็นสี:
- สีดำ: จำนวนตัวอย่างทั้งหมดที่ส่งไปในปัจจุบัน
- สีน้ำเงิน: ค่าเฉลี่ยปัจจุบันของตัวอย่างทั้งหมดที่ส่ง
- สีแดง: ค่าเบี่ยงเบนมาตรฐานปัจจุบัน
- สีเขียว: อัตราปริมาณงานที่แสดงจำนวนคำขอต่อนาทีที่เซิร์ฟเวอร์จัดการ
ให้วิเคราะห์ประสิทธิภาพของเซิร์ฟเวอร์ Google ในรูปด้านล่าง
ในการวิเคราะห์ประสิทธิภาพของเว็บเซิร์ฟเวอร์ที่ทดสอบ คุณควรเน้นที่ 2 พารามิเตอร์
- ทางเข้า
- การเบี่ยงเบน
เทศกาล ทางเข้า เป็นพารามิเตอร์ที่สำคัญที่สุด มันแสดงถึงความสามารถของเซิร์ฟเวอร์ในการจัดการกับภาระงานหนัก ที่ สูงกว่า ปริมาณงานคือ ดีกว่า คือประสิทธิภาพของเซิร์ฟเวอร์
ในการทดสอบนี้ ปริมาณงานของเซิร์ฟเวอร์ Google คือ 1,491.193/นาที หมายความว่าเซิร์ฟเวอร์ของ Google สามารถรองรับคำขอได้ 1,491.193 คำขอต่อนาที ค่านี้ค่อนข้างสูงดังนั้นเราจึงสรุปได้ว่าเซิร์ฟเวอร์ของ Google มีประสิทธิภาพที่ดี
เทศกาล การเบี่ยงเบน แสดงเป็นสีแดง – แสดงถึงความเบี่ยงเบนจากค่าเฉลี่ย ที่ มีขนาดเล็กกว่า ดีกว่า.
ให้เปรียบเทียบประสิทธิภาพของเซิร์ฟเวอร์ Google กับเว็บเซิร์ฟเวอร์อื่น นี่คือผลการทดสอบประสิทธิภาพของเว็บไซต์ http://www.yahoo.com/ (สามารถเลือกเว็บไซต์อื่นได้)
ปริมาณงานของเว็บไซต์ที่อยู่ระหว่างการทดสอบ http://www.yahoo.com เท่ากับ 867.326/นาที หมายความว่าเซิร์ฟเวอร์นี้จัดการคำขอ 867.326 ต่อนาที ซึ่งต่ำกว่า Google
ค่าเบี่ยงเบนคือ 2689 ซึ่งสูงกว่า Google (577) มาก ดังนั้นเราจึงสามารถระบุประสิทธิภาพของเว็บไซต์นี้น้อยกว่าเซิร์ฟเวอร์ของ Google
หมายเหตุ: ค่าข้างต้นขึ้นอยู่กับปัจจัยหลายประการ เช่น โหลดเซิร์ฟเวอร์ปัจจุบันที่ Google ความเร็วอินเทอร์เน็ตของคุณ กำลัง CPU ของคุณ เป็นต้น ดังนั้นจึงไม่น่าเป็นไปได้มากที่คุณจะได้รับผลลัพธ์เช่นเดียวกับข้างต้น ดังนั้นอย่าตกใจ! หากคุณสนใจที่จะทำความเข้าใจว่าโหลดของเซิร์ฟเวอร์ส่งผลต่อประสิทธิภาพอย่างไร และจะทดสอบอย่างไร คุณอาจพบสิ่งนี้ บทช่วยสอนการทดสอบโหลด มีประโยชน์
การแก้ไขปัญหา
หากคุณประสบปัญหาขณะดำเนินการตามสถานการณ์ข้างต้น … ให้ทำดังต่อไปนี้
- ตรวจสอบว่าคุณเชื่อมต่ออินเทอร์เน็ตผ่านพรอกซีหรือไม่ ถ้าใช่ ให้ลบพรอกซีออก
- เปิดอินสแตนซ์ใหม่ของ Jmeter
- เปิด PerformanceTestPlan.jmx ใน Jmeter
- Double คลิกที่กลุ่มกระทู้ -> ผลลัพธ์กราฟ
- เรียกใช้การทดสอบ