Apache Bench - ภาพรวม
การทดสอบประสิทธิภาพได้พิสูจน์แล้วว่ามีความสำคัญอย่างยิ่งต่อความสำเร็จของธุรกิจ ไซต์ที่มีประสิทธิภาพต่ำไม่เพียง แต่ต้องเผชิญกับความสูญเสียทางการเงินเท่านั้น แต่ยังอาจนำไปสู่ผลกระทบทางกฎหมายในบางครั้ง
ไม่มีใครอยากทนกับไซต์ที่ทำงานช้าและไม่น่าเชื่อถือในการโต้ตอบออนไลน์ที่สำคัญเช่นการซื้อการทำข้อสอบออนไลน์การจ่ายบิล ฯลฯ เนื่องจากอินเทอร์เน็ตมีให้บริการอย่างกว้างขวางทางเลือกต่างๆจึงมีมากมาย การสูญเสียลูกค้าทำได้ง่ายกว่าการได้รับและประสิทธิภาพเป็นตัวเปลี่ยนเกมที่สำคัญ
ต้องการเครื่องมือทดสอบการโหลด
หากเราเข้าใจได้ว่าอะไรคือความจำเป็นในการใช้เครื่องมือทดสอบโหลดก็จะทำให้เรามีเหตุผลและแรงจูงใจในการใช้งาน ไซต์ธุรกิจที่มีชื่อเสียงบางแห่งประสบปัญหาการหยุดทำงานอย่างรุนแรงเมื่อมีผู้เข้าชมจำนวนมาก เว็บไซต์อีคอมเมิร์ซลงทุนอย่างมากในแคมเปญโฆษณา แต่ไม่ใช่ในการทดสอบโหลด ดังนั้นพวกเขาจึงล้มเหลวในการรับรองประสิทธิภาพของระบบที่ดีที่สุดเมื่อการตลาดนั้นมีการเข้าชม
อีกตัวอย่างหนึ่งที่คุ้นเคยในการละเว้นการทดสอบโหลดคือ“ ข้อผิดพลาดในการสร้างการเชื่อมต่อ” ในเว็บไซต์ WordPress ดังนั้นจึงเป็นความคิดที่ดีที่จะโหลดทดสอบเว็บไซต์หรือแอปพลิเคชันก่อนที่จะนำไปใช้ในการผลิต เป็นเรื่องดีที่จะสร้างสถานการณ์สมมติที่ดีที่สุดสำหรับโครงการอย่างรวดเร็วก่อนที่จะดำเนินการทดสอบโดยละเอียดเพิ่มเติมตามท้องถนน
Apache Bench คืออะไร?
Apache Bench (ab) เป็นเครื่องมือจากองค์กร Apache สำหรับการเปรียบเทียบเว็บเซิร์ฟเวอร์ Hypertext Transfer Protocol (HTTP) แม้ว่าจะได้รับการออกแบบมาเพื่อวัดประสิทธิภาพของเว็บเซิร์ฟเวอร์ Apache แต่ก็ยังสามารถใช้ทดสอบเว็บเซิร์ฟเวอร์อื่น ๆ ที่ดีไม่แพ้กัน ด้วยเครื่องมือนี้คุณสามารถทราบได้อย่างรวดเร็วว่าเว็บเซิร์ฟเวอร์ของคุณสามารถให้บริการได้กี่คำขอต่อวินาที
คุณสมบัติของ Apache Bench
ให้เราดูคุณสมบัติที่สำคัญและข้อ จำกัด ของ Apache Bench คุณสมบัติและข้อ จำกัด แสดงไว้ด้านล่าง -
ในฐานะที่เป็นซอฟต์แวร์โอเพ่นซอร์สจึงสามารถใช้ได้อย่างอิสระ
มันเป็นโปรแกรมคอมพิวเตอร์บรรทัดคำสั่งง่ายๆ
เป็นเครื่องมือที่ไม่ขึ้นกับแพลตฟอร์ม หมายความว่าสามารถเรียกใช้บน Linux / Unix หรือบนเซิร์ฟเวอร์ Windows ได้ดีพอ ๆ กัน
สามารถทำการทดสอบโหลดและประสิทธิภาพสำหรับเว็บเซิร์ฟเวอร์เท่านั้น - HTTP หรือ HTTPS
ไม่สามารถขยายได้
Apache Bench ใช้เธรดระบบปฏิบัติการเดียวโดยไม่คำนึงถึงระดับการทำงานพร้อมกัน (ระบุโดยแฟล็ก -c) ดังนั้นเมื่อเปรียบเทียบเซิร์ฟเวอร์ความจุสูง Apache Bench อินสแตนซ์เดียวอาจเป็นปัญหาคอขวดได้ เพื่อให้ URL เป้าหมายอิ่มตัวอย่างสมบูรณ์ควรใช้อินสแตนซ์เพิ่มเติมของ Apache Bench ควบคู่กันไปจะดีกว่าหากเซิร์ฟเวอร์ของคุณมีแกนประมวลผลหลายตัว
ข้อควรระวัง
คุณต้องทราบว่าไม่มีคำสั่งใด ๆ ใน Apache Bench ที่จะเพิ่มการทำงานพร้อมกันในช่วงเวลาใดช่วงเวลาหนึ่งขณะทำการทดสอบ ดังนั้นการรันการทดสอบโหลดโดยใช้ ab จึงเทียบเท่ากับการโจมตีแบบปฏิเสธการให้บริการ (DOS) ขอแนะนำให้คุณแจ้งและรับการอนุญาตล่วงหน้าจากผู้ให้บริการ VPS ของคุณหากคุณกำลังจะทำการทดสอบงานหนักเป็นเวลานาน พวกเขาจะจัดสรรช่วงเวลาที่เหมาะสมให้คุณหรือเปลี่ยนโหนดของคุณสำหรับงานทดสอบโหลด
ประการที่สองหากคุณกำลังทดสอบเว็บไซต์ของบุคคลที่สามอย่างต่อเนื่องและเป็นเวลานานเพียงเพื่อเรียนรู้ Apache Bench จาก VPS ของคุณ (ซึ่งกลายเป็นโหนดทดสอบ) มีความเป็นไปได้จากระยะไกลที่ IP สาธารณะ VPS ของคุณอาจถูกบล็อกโดยเว็บไซต์ของบุคคลที่สาม ถาวร ในกรณีนี้คุณจะไม่สามารถเชื่อมต่อกับเว็บไซต์นั้นด้วย IP เดียวกันได้ แต่ถ้าคุณต้องการเชื่อมต่อกับเว็บไซต์จริงๆในอนาคตทางออกเดียวคือคุยกับผู้ดูแลระบบของเว็บไซต์เป้าหมายหรือสร้างอินสแตนซ์ใหม่ของเซิร์ฟเวอร์ด้วย IP อื่นด้วยความช่วยเหลือจากผู้ให้บริการ VPS ของคุณ
เมื่อเตือนคุณแล้วขอให้ฉันมั่นใจว่าการทดสอบทั้งหมดในบทช่วยสอนนี้ปลอดภัยเพียงพอและไม่เป็นไปตามที่ผู้ดูแลระบบโดยทั่วไปเรียกว่า "การละเมิดระบบ"