
ความต้องการของการทำงานสำหรับ Load testing ของระบบงาน ด้วย Locustซึ่งอยู่บน Kubernetes cluster เป็นดังนี้ทำการ setup Locust แบบ Master-slave หรือ Manager-worker เพื่อช่วยสร้าง virtual user จำนวนมากตามที่ต้องการมีขั้นตอนการเตรียมดังนี้
ปัญหาเรื่องระบบล่มเนื่องมาจากผู้ใช้งานเข้ามาใช้ระบบจำนวนมากพร้อม ๆ กัน เป็นปัญหาที่ผมคิดว่า นักพัฒนาพบเห็นประจำ เช่น Pizza Hut ออก promotion 1 บาท Pokémon Go ล่ม ระบบลงทะเบียนล่ม AirAsia ล่มสำหรับ promotion BIG SALE ระบบจองตั๋วต่าง ๆ ล่ม ดังนั้นสิ่งที่ควรต้องเตรียมตัวไว้เสมอคือ การทดสอบปริมาณการใช้งานแบบพุ่งสูงอย่างรวดเร็ว (Spike Traffic) เพื่อให้เราสามารถรับมือกับปัญหาต่าง ๆ ได้อย่างรวดเร็ว มิฉะนั้นระบบไฟไหม้อย่างแน่นอน
คำถามที่น่าสนใจ สำหรับการพัฒนาระบบงาน ระบบทำงานได้อย่างรวดเร็วใช่หรือไม่ ? ระบบสามารถรองรับการจำนวนการใช้งานสูง ๆ ได้หรือไม่ ? คุณทำการทดสอบประสิทธิภาพการทำงานของระบบบ่อยไหม ? คุณทำการทดสอบประสิทธิภาพการทำงานของระบบตอนไหน ? จะเริ่มทดสอบระบบเมื่อใด ? ลองตอบกันดูนะ แต่มีคำถามที่มักได้ยิน ได้ถามกันบ่อย คือ แล้วมีเครื่องมืออะไรบ้างสำหรับ Performance Testing หรือการทดสอบประสิทธิภาพการทำงานของระบบบ้างล่ะ
ทำการแปลบางส่วนจากบทความเรื่อง Performance Testing in a Nutshell ซึ่งทำการอธิบายเรื่องของ Performance Testing ได้อย่างน่าสนใจ ทั้งแนวคิด และ แนวทางในการทดสอบ ทั้งการเตรียม environment ต่าง ๆ ทั้งการเขียน script เพื่อทดสอบ ทั้งการวิเคราะห์ผลการทดสอบ ทั้งการ monitoring ระบบ และ Lesson learn ต่าง ๆ ดังนั้น เรามาเริ่มเดินทางไปยัง Performance Testing กันเลย
ทาง Blazemeter ทำการสร้างเครื่องมือสำหรับ Test automation เน้นในเรื่อง Functional testing และ Performance testing และช่วยอำนวยความสะดวกในการทดสอบด้วย Apache JMeter Gatling Grinder ด้วยการลดความซับซ้อนของการใช้งานลงไป ซึ่งเครื่องมือตัวนั้นชื่อว่า Taurus ย่อมาจาก Test AUtomation Running Smoothly ดังนั้นมาทำความรู้จักกันหน่อย &#