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

ทำไมต้องทดสอบประสิทธิภาพ
เป้าหมายของการทดสอบประสิทธิภาพไม่ใช่การค้นหาจุดบกพร่อง แต่เพื่อขจัดข้อบกพร่องด้านประสิทธิภาพ หากไม่ทำการทดสอบประสิทธิภาพอย่างละเอียดถี่ถ้วน เว็บไซต์อาจประสบปัญหา เช่น ทำงานช้าในขณะที่ผู้ใช้หลายคนใช้งานพร้อมกัน หรือใช้งานไม่ได้ สาเหตุที่สำคัญที่สุดประการหนึ่งสำหรับการทดสอบประสิทธิภาพคือการหลีกเลี่ยงการหยุดทำงาน
คุณรู้หรือไม่ว่าประมาณ 59% ของโชคลาภ 500 บริษัท ประสบปัญหาการหยุดทำงานประมาณ 1.6 ชั่วโมงทุกสัปดาห์? การหยุดทำงาน 5 นาทีในปี 2013 ทำให้ Google.com เสียหายถึง 545,000 ดอลลาร์! บริการเว็บหยุดทำงานโดยไม่คาดคิดทำให้ Amazon ขาดทุนถึง $1,100 ต่อวินาที แหล่งที่มา.
ทั้งหมดนี้สามารถหลีกเลี่ยงได้หากการทดสอบประสิทธิภาพสามารถจำลองภาระงานหนักบนเซิร์ฟเวอร์ สามารถเรียกใช้การทดสอบการทำงาน การทดสอบแอปพลิเคชัน และการทดสอบโปรโตคอล
การทดสอบประสิทธิภาพโดยใช้ JMeter
แอปพลิเคชัน Apache JMeter เป็นซอฟต์แวร์โอเพ่นซอร์ส ซึ่งเป็นแอปพลิเคชันที่ใช้ Java ล้วนๆ ออกแบบมาเพื่อทดสอบโหลดหรือทดสอบประสิทธิภาพ ได้รับการออกแบบครั้งแรกโดย Stefano Mazzocchi จาก Apache Software Foundation JMeter สามารถจำลองการโหลดจำนวนมากบนเซิร์ฟเวอร์โดยการสร้างผู้ใช้พร้อมกันเสมือนจำนวนมากไปยังเว็บเซิร์ฟเวอร์
JMeter ทำการทดสอบอย่างไร
JMeter สร้างคำขอและส่งไปยังเซิร์ฟเวอร์ เมื่อได้รับคำขอของเซิร์ฟเวอร์แล้ว จะรวบรวมและแสดงรายละเอียดเหล่านั้นเป็นแผนภูมิหรือกราฟ จากนั้นจะประมวลผลคำขอของเซิร์ฟเวอร์และในที่สุดก็สร้างผลการทดสอบในหลายรูปแบบ เช่น ข้อความ, XML, JSON จากข้อมูลที่รวบรวมมา ผู้ใช้สามารถสังเกตพฤติกรรมของแอปพลิเคชันและปัญหาคอขวดด้านประสิทธิภาพของแอปพลิเคชัน โดยนำเสนอข้อมูลเชิงลึกว่าแอปพลิเคชันจำเป็นต้องได้รับการปรับปรุงในส่วนใด
ทำไมต้อง JMeter
- โอเพ่นซอร์ส - JMeter เป็นซอฟต์แวร์โอเพ่นซอร์สและสามารถดาวน์โหลดได้ฟรี
- แพลตฟอร์มอิสระ - JMeter ได้รับการพัฒนาใน Java ซึ่งเป็นภาษาโปรแกรมที่ได้รับความนิยมมากที่สุดในโลก ดังนั้นจึงสามารถทำงานบนระบบปฏิบัติการใดก็ได้
- รองรับหลายโปรโตคอล - JMeter ไม่เพียงรองรับการทดสอบเว็บแอปพลิเคชัน แต่ยังประเมินประสิทธิภาพของเซิร์ฟเวอร์ฐานข้อมูลด้วย JMeter รองรับโปรโตคอลพื้นฐานทั้งหมด เช่น HTTP, JDBC, LDAP, SOAP, JMS และ FTP
- ใช้งานง่าย - JMeter มี GUI ที่ครอบคลุม ซึ่งช่วยในการสร้างแผนการทดสอบและกำหนดค่าองค์ประกอบ การเพิ่มองค์ประกอบก็ง่ายเช่นกัน คุณเพียงแค่ต้องคลิกขวาที่แผนการทดสอบและเพิ่มสิ่งที่คุณต้องทำ
องค์ประกอบของ JMeter
- กลุ่มเธรด - กลุ่มเธรดคือชุดของเธรด แต่ละเธรดแสดงถึงผู้ใช้หนึ่งรายโดยใช้ AUT แต่ละเธรดเลียนแบบคำขอของผู้ใช้จริงหนึ่งรายไปยังเซิร์ฟเวอร์
- Samplers - JMeter รองรับการทดสอบ HTTP, FTP, JDBC และโปรโตคอลอื่น ๆ อีกมากมาย กลุ่มเธรดจำลองคำขอของผู้ใช้ไปยังเซิร์ฟเวอร์ ช่วยให้ Thread Group รู้ว่าต้องส่งคำขอประเภทใด (HTTP, FTP เป็นต้น)
- ผู้ฟัง - ผู้ฟังอำนวยความสะดวกให้ผู้ดูดูผลการสุ่มตัวอย่างในรูปแบบของตาราง กราฟ ต้นไม้ หรือข้อความธรรมดาในไฟล์บันทึกบางไฟล์
- การ กำหนดค่า - องค์ประกอบการกำหนดค่าใน JMeter ใช้เพื่อกำหนดค่าหรือแก้ไขคำขอตัวอย่างที่ทำกับเซิร์ฟเวอร์
วิธีการติดตั้ง jmeter
มีข้อกำหนดเบื้องต้นเพียงข้อเดียวสำหรับการดาวน์โหลดและติดตั้ง JMeter: เพื่อให้มี Java ติดตั้งอยู่ในระบบของคุณ

- ดาวน์โหลด JMeter และติดตั้งจากที่นี่ - https://jmeter.apache.org/download_jmeter.cgi
- ในการเปิด JMeter: โฟลเดอร์ Apache jmeter > โฟลเดอร์ bin > คลิก jmeter.bat
สร้างแผนการทดสอบ
ขั้นตอนที่ 1: เพิ่มกลุ่มเธรด
ไปที่เพิ่ม แล้วเลือก Threads(Users) แล้วเลือก Thread users


ตัวเลือก
ก. การดำเนินการหลังจากเกิดข้อผิดพลาด
B. จำนวนเธรด - จำนวนผู้ใช้
C. ระยะเวลาการเพิ่มขึ้นเป็นวินาที - ช่องว่างระหว่างเวลาระหว่างการโจมตีของผู้ใช้
D. การนับวน - การทดสอบจะทำงานกี่ครั้งสำหรับจำนวนผู้ใช้
ขั้นตอนที่ 2: เพิ่มคำขอ HTTP
คลิกขวาที่กลุ่มเธรด เพิ่มตัวอย่างแล้วคลิกคำขอ Http
ตัวเลือก
A. เพิ่ม “ชื่อเซิร์ฟเวอร์”
B. อย่าให้ http หรือ HTTPS เนื่องจากเป็นโปรโตคอลที่จะมาในอีกช่องหนึ่ง และจะถูกนำไปใช้โดยอัตโนมัติในกรณีคำขอ http
C. กล่องโต้ตอบเส้นทาง → เพิ่มเครื่องหมายทับ

ขั้นตอนที่ 3: เพิ่ม Listener
คลิกขวาที่กลุ่มเธรด เพิ่ม Listener แล้วคลิก ดูผลลัพธ์ในตาราง

ขั้นตอนที่ 4: เรียกใช้การทดสอบ
บันทึกการทดสอบและคลิกที่ปุ่มลูกศรสีเขียว


ถึงเวลาวิเคราะห์ผลลัพธ์
- หมายเลขตัวอย่าง - หมายเลข ของเธรดหรือผู้ใช้ ในรายงานจะระบุว่า "นี่คือตัวอย่างหมายเลข 1" ซึ่งหมายความว่าเป็นเธรดที่ 1 ตามด้วยเธรดที่ 2 เป็นต้น
- เวลาเริ่มต้น - เวลาเริ่มต้นสำหรับแต่ละเธรดหรือผู้ใช้
- ชื่อเธรด - ชื่อเธรดนั้นเป็นชื่อกลุ่มเธรดที่นี่ ในชื่อกลุ่มเธรด เรามีหมายเลขนี้ 1-1 , 1-2… ดังนั้นอันแรกนี้หมายถึงการวนซ้ำครั้งแรกกับผู้ใช้คนแรก การวนซ้ำครั้งแรกกับผู้ใช้คนที่สอง เป็นต้น
- ป้ายกำกับ - ป้ายกำกับคือตัวอย่างหรือชื่อคำขอของคุณ
- เวลาตัวอย่าง - ตัวอย่างนี้ (ฉลาก) ใช้เวลาเท่าใดในแง่ของ am/s
- สถานะ - สถานะของคำขอ
- ไบต์ - ไบต์ที่ได้รับ
- ไบต์ที่ ส่ง - ไบต์ที่ส่งแล้ว
- เวลาแฝง - คำขอเวลาจากผู้ใช้/เบราว์เซอร์และเวลาตอบสนอง การตอบสนองในแง่ของการร้องขอที่เดินทางจากเซิร์ฟเวอร์ไปยังไคลเอนต์ / เบราว์เซอร์ซึ่งไม่รวมเวลาในการประมวลผลของเซิร์ฟเวอร์ (ขอและตอบกลับเท่านั้น)
- เวลาเชื่อมต่อ - เวลาเชื่อมต่อคือระยะเวลาที่แอปพลิเคชันของคุณใช้ในการเชื่อมต่อกับเซิร์ฟเวอร์ในหน่วยมิลลิวินาที
สิ่งสำคัญคือต้องรู้ว่าเวลาในการตอบสนองและการเชื่อมต่อควรต่ำอยู่เสมอ เวลาในการเชื่อมต่อหรือเวลาแฝงที่สูงขึ้นหมายความว่ามีปัญหากับประสิทธิภาพของเว็บไซต์