Load Test RabbitMQ และ Memphis ด้วย K6
Vložit
- čas přidán 12. 09. 2024
- การทำ Load Test แบบมืออาชีพด้วย K6 เพื่อทำให้เราเข้าใจพฤติกรรมของโปรแกรมของเราเวลาใช้งานภายใต้โหลด ทีม Test ที่มีประสบการณ์จะทำการเขียน Script เพื่อทดสอบ
ในตัวอย่างจะทำการทดสอบ Web API สามแบบ
- ต่อฐานข้อมูลตรงๆ
- เขียนผ่าน RabbitMQ แล้วทะยอยเขียนลงฐานข้อมูล
- เขียนผ่าน Memphis แล้วทะยอยเขียนลงฐานข้อมูล
จะทำการคาดการโหลดที่จะเกิดบน Production เพื่อเลือกการออกแบบที่เหมาะสม โปรเจ็กที่จะทำอยู่จะมีโหลดค่อนข้างหนักซึ่งฐานข้อมูลอาจจะรับไม่ไหว ในใจจะใช้ Message Broker มาช่วย และเลือกระหว่าง RabbitMQ กับ Memphis และก็ต้องทดสอบด้วยว่าถ้าแบบไม่ใช้จะรองรับได้เท่าไหร่
โค้ดบน Github
github.com/sch...
สุดยอดครับ มองเห็นภาพเลย
ขอบคุณครับ
เยี่ยมครับ
ขอสอบถามหน่อยนะครับ consumer จะทำงานตามลำดับก่อนหลัง ของ Request ที่เข้ามามั้ยครับ
ตามเอกสาร RabbitMQ จะส่งงานตามลำดับไป แต่ถ้ามี Consumer มากกว่าหนึ่งตัวมันก็อาจจะข้ามไปเพราะแจกแบบ round-robin ในแต่ละ consumer มันเป็น callback ถ้ารับได้มากกว่าหนึ่งงานงานไหน ack ก่อนก็อาจจะทำให้ลำดับเปลี่ยนได้
ผมคิดว่าถ้าจะให้เป็นลำดับก็ควรมีหนึ่ง consumer รับทีละงานในหนึ่งคิว
@@schooltechx ขอบคุณมากครับ กำลังเทียบกับ Kafka ถ้าเป็นท่าตาม video ใช้ rabbit น่าจะ work กว่า