วิธีใช้ JMeter สำหรับการทดสอบประสิทธิภาพและโหลด

⚡ สรุปอย่างชาญฉลาด

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

  • 🧩 แผนการทดสอบ: กลุ่มเธรด, ตัวอย่างเสียง และตัวรับฟังเสียง เป็นตัวกำหนดการทดสอบ
  • 👥 กลุ่มหัวข้อสนทนา: ตั้งค่าผู้ใช้ ระยะเวลาเริ่มต้น และจำนวนรอบการทำงาน
  • 📊 ผู้ฟัง: ผลลัพธ์ในรูปแบบกราฟและตารางแสดงให้เห็นถึงข้อมูลประสิทธิภาพอย่างชัดเจน
  • ???? ภาระเทียบกับความเค้น: แบบจำลองภาระคาดการณ์ปริมาณการจราจร ความเครียดพบจุดแตกหัก
  • 🤖 ความช่วยเหลือจาก AI: โมเดล AI โหลดโปรไฟล์และระบุปัญหาประสิทธิภาพการทำงานที่ลดลง

JMeter การทดสอบประสิทธิภาพและการรับน้ำหนัก

JMeter โหลดการทดสอบ

JMeter โหลดการทดสอบ เป็นกระบวนการทดสอบที่ทำโดยใช้เครื่องมือทดสอบโหลดชื่อ Apache JMeter ซึ่งเป็นแอปพลิเคชันเดสก์ท็อปโอเพ่นซอร์สที่ใช้ Java. JMeter สำหรับการทดสอบโหลดเป็นเครื่องมือสำคัญที่กำหนดว่าเว็บแอปพลิเคชันที่ทดสอบสามารถตอบสนองความต้องการโหลดสูงได้หรือไม่ นอกจากนี้ยังช่วยวิเคราะห์เซิร์ฟเวอร์โดยรวมภายใต้ภาระงานหนัก

JMeter การทดสอบประสิทธิภาพ

JMeter การทดสอบประสิทธิภาพ is การทดสอบ วิธีการดำเนินการโดยใช้ Apache JMeter เพื่อทดสอบประสิทธิภาพของเว็บแอปพลิเคชัน JMeter สำหรับการทดสอบประสิทธิภาพช่วยในการทดสอบทรัพยากรทั้งแบบคงที่และไดนามิก ช่วยค้นหาผู้ใช้พร้อมกันบนเว็บไซต์และให้การวิเคราะห์กราฟิกที่หลากหลายสำหรับการทดสอบประสิทธิภาพ JMeter การทดสอบประสิทธิภาพประกอบด้วยการทดสอบโหลดและการทดสอบความเค้นของเว็บแอปพลิเคชัน

JMeter การทดสอบประสิทธิภาพ

Apache JMeter เครื่องมือทดสอบมีข้อเสนอดังต่อไปนี้ ประโยชน์ in การทดสอบประสิทธิภาพ

  • JMeter สามารถใช้ทดสอบประสิทธิภาพของทั้งสองอย่างได้ คงที่ ทรัพยากรเช่น Javaต้นฉบับ และ HTML อีกด้วย พลวัต ทรัพยากร เช่น JSP, Servlets และ AJAX
  • JMeter สามารถ ค้นพบ จำนวนผู้ใช้พร้อมกันสูงสุดที่เว็บไซต์ของคุณสามารถรองรับได้
  • JMeter มีการวิเคราะห์กราฟรายงานประสิทธิภาพที่หลากหลาย

JMeter การทดสอบประสิทธิภาพประกอบด้วย:

JMeter การทดสอบประสิทธิภาพ

  • โหลด การทดสอบ: การสร้างแบบจำลองการใช้งานที่คาดหวังโดยการจำลองการเข้าถึงของผู้ใช้หลายคน บริการเว็บ พร้อมกัน
  • ความตึงเครียด การทดสอบ: ทุกเว็บเซิร์ฟเวอร์มีความสามารถในการโหลดสูงสุด เมื่อโหลดเกินขีดจำกัด เว็บเซิร์ฟเวอร์จะเริ่มตอบสนองช้าและก่อให้เกิดข้อผิดพลาด วัตถุประสงค์ของการ การทดสอบความเครียด คือการค้นหาโหลดสูงสุดที่เว็บเซิร์ฟเวอร์สามารถรองรับได้

รูปด้านล่างแสดงวิธีการ JMeter การทดสอบโหลดจำลองการบรรทุกหนัก:

JMeter การทดสอบประสิทธิภาพ

สร้างแผนการทดสอบประสิทธิภาพใน JMeter

ในบทเรียนนี้ เราจะทำการวิเคราะห์ประสิทธิภาพของ Google.com สำหรับผู้ใช้ 1000 คน โดยใช้หลากหลายวิธี เครื่องมือทดสอบประสิทธิภาพ เพื่อให้แน่ใจว่าเว็บไซต์สามารถรองรับโหลดและมอบประสบการณ์ผู้ใช้ที่ราบรื่น

ก่อนที่จะทดสอบประสิทธิภาพของเว็บแอปพลิเคชันเป้าหมาย เราควรพิจารณา-

  • โหลดปกติ: จำนวนผู้ใช้โดยเฉลี่ยที่เข้าชมเว็บไซต์ของคุณ
  • ภาระหนัก: จำนวนผู้ใช้สูงสุดที่เยี่ยมชมเว็บไซต์ของคุณ
  • ของคุณคืออะไร เป้า ในการทดสอบนี้?

ที่นี่คือ แผนงาน ของตัวอย่างเชิงปฏิบัตินี้

สร้างแผนการทดสอบประสิทธิภาพใน JMeter

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

  1. เริ่มต้น JMeter
  2. เลือก แผนการทดสอบ บนต้นไม้
  3. เพิ่ม กลุ่มกระทู้

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

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

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

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

  • จำนวนเธรด: 100 (จำนวนผู้ใช้ที่เชื่อมต่อกับเว็บไซต์เป้าหมาย: 100)
  • จำนวนลูป: 10 (จำนวนเวลาในการดำเนินการทดสอบ)
  • Ramp- ระยะเวลาขึ้น: 100

จำนวนเธรดและจำนวนลูปคือ ต่าง

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

Rampระยะเวลา -Up บอก JMeter นานแค่ไหน ความล่าช้า ก่อนที่จะเริ่มใช้งานผู้ใช้รายถัดไป ตัวอย่างเช่น หากเรามีผู้ใช้ 100 รายและมีเวลา 100 วินาที Ramp- ระยะเวลาเพิ่มขึ้น จากนั้นความล่าช้าระหว่างผู้ใช้ที่เริ่มต้นจะเป็น 1 วินาที (100 วินาที / 100 ผู้ใช้)

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

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

ตอนนี้เรากำหนดอะไร JMeter องค์ประกอบในการทดสอบนี้ องค์ประกอบได้แก่

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

สามารถเพิ่มองค์ประกอบนี้ได้โดยการคลิกขวาที่กลุ่มเธรดและเลือก: เพิ่ม -> กำหนดค่าองค์ประกอบ -> ค่าเริ่มต้นคำขอ HTTP

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

ในแผงควบคุมค่าเริ่มต้นคำขอ HTTP ให้ป้อนชื่อเว็บไซต์ภายใต้การทดสอบ (http://www.google.com)

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

  • คำขอ HTTP

คลิกขวาที่กลุ่มเธรดและเลือก: เพิ่ม -> ตัวอย่าง -> คำขอ HTTP.

คำขอ HTTP

ในแผงควบคุมคำขอ HTTP ฟิลด์เส้นทางจะระบุว่าช่องใด URL ขอ คุณต้องการส่งไปที่ Google เซิร์ฟเวอร์

คำขอ HTTP

เช่น หากคุณป้อน “ปฏิทิน” ในช่องเส้นทาง JMeter จะสร้าง URL ขอ http://www.google.com/calendar ไปยัง Google เซิร์ฟเวอร์

คำขอ HTTP

หากคุณเก็บฟิลด์ 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 และอื่นๆ ล้วนมีผลต่อประสิทธิภาพการทำงาน ดังนั้นจึงเป็นไปได้ยากมากที่คุณจะได้ผลลัพธ์เหมือนกับข้างต้น อย่าตกใจไป! หากคุณสนใจที่จะทำความเข้าใจว่าภาระงานของเซิร์ฟเวอร์ส่งผลต่อประสิทธิภาพอย่างไร และวิธีการทดสอบ คุณอาจพบว่าสิ่งนี้มีประโยชน์ บทช่วยสอนการทดสอบโหลด มีประโยชน์

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

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

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

คำถามที่พบบ่อย

ปริมาณงานคือจำนวนคำขอ JMeter จำนวนการประมวลผลต่อวินาทีที่สูงขึ้น หมายความว่าเซิร์ฟเวอร์สามารถรองรับภาระงานได้มากขึ้น

โสด JMeter การทดสอบแบบอินสแตนซ์จำลองผู้ใช้งานตั้งแต่หลักร้อยถึงหลักพันคน ในขณะที่การทดสอบแบบกระจายบนเครื่องคอมพิวเตอร์หลายเครื่องสามารถรองรับผู้ใช้งานได้ถึงหลักหมื่นคน

JMeter เป็นซอฟต์แวร์โอเพนซอร์สฟรี และ Javaในขณะที่ LoadRunner เป็นซอฟต์แวร์เชิงพาณิชย์ที่มีการรองรับโปรโตคอลที่หลากหลายกว่าและมีการวิเคราะห์ขั้นสูงกว่า

ใช่ AI อ่านได้ JMeter แสดงผลลัพธ์เป็นกราฟ ตรวจจับความผิดปกติและปัญหาคอขวด และเชื่อมโยงการตอบสนองที่ช้ากับระดับภาระงาน

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

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