ว่าง ๆ ลองมาทำการ Load testing ด้วย K6 กันหน่อย
โดยที่ K6 นั้นสามารถเขียน script การทำงานด้วยภาษา JavaScript
ทำให้ง่ายต่อการสร้าง scenario ของการทดสอบอย่างมาก
จึงลองสรุปการใชงานไว้นิดหน่อย
สิ่งที่ใช้งานนั้นประกอบไปด้วย
- แน่นอนต้องมี K6 สิ
- Docker และ Docker compose เพื่อให้ง่ายต่อการใช้งานและทำซ้ำ
- InfluxDB เป็น data store สำหรับเก็บผลการทดสอบ
- Grafana เป็น visiualization toll สำหรับแสดงผลของการทดสอบที่เก็บไว้ใน InfluxDB
เริ่มด้วยการเขียน script สำหรับการทดสอบระบบด้วย K6
[gist id="e051bdaf8cf2d108a0cb7ce109074147" file="sample.js"]โดยสามารถ run ได้เลย
แต่เพื่อความง่ายและสะดวกจึงใช้งาน Docker compose ดีกว่า
และทำการเก็บผลการทดสอบไว้ใน InfluxDB
อีกทั้งแสดงผลการทดสอบใน Grafana ไปเลย ดังนี้
เมื่อทุกอย่างเรียบร้อยก็ทำการ run
[gist id="e051bdaf8cf2d108a0cb7ce109074147" file="1.txt"]จากนั้นทำการ run script สำหรับทำ Load testing ระบบงาน ดังนี้
[gist id="e051bdaf8cf2d108a0cb7ce109074147" file="2.txt"]ดูผลการทำงานใน Grafana ดังรูป
เพียงเท่านี้ก็สามารถทำ Load testing ด้วย K6 แบบง่าย ๆ
ดูดีมี style ได้แล้วนะ
ตัวอย่าง code อยู่ที่ GitHub::Up1
Reference Websites