Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

JMeter :: ทดสอบประสิทธิภาพการทำงานของ MQTT messaging ทำอย่างไร

$
0
0

มีคำถามเกี่ยวกับการทดสอบ performance ของ MQTT messaging
ซึ่งส่วนใหญ่จะใช้ทำงานร่วมกับพวกอุปกรณ์ IoT ต่าง ๆ 
ว่าต้องทำอย่างไรได้บ้าง ?

ก่อนอื่นต้องเข้าใจก่อนว่า MQTT protocol คืออะไร ?

MQTT ย่อมาจาก Message Queue Telemetry Transport
มันเกิดมาสำหรับโลกของ IoT
มีขนาดของ message ที่เล็ก ตัวมันเองก็เช่นกัน
แน่นอนว่า เป็น open protocol
ความสามารถหลัก ๆ ประกอบไปด้วย

  • เป็น Application level protocol ซึ่งทำงานบน TCP/IP ด้วย port 1883 (default port) หรือ SSL ใช้ port 8883
  • เป็น Asynchronous protocol 
  • มีรูปแบบการทำงานแบบ publisher/subscriber
  • ขนาดของ message มีขนาดเล็ก ซึ่งประกอบไปด้วย 3 ส่วนคือ fixed header, ข้อมูล header และ body
  • สามารถทำงานได้บน network ที่ไม่เสถียร

คำตอบคือ ทำได้หลายวิธี หนึ่งในนั้นคือ การทดสอบด้วย JMeter

แต่ต้องติดตั้ง plugin เพิ่มเติมชื่อว่า MQTT JMeter Plugin
โดยทำการ copy ไฟล์ mqtt-xmeter-1.0.1-jar-with-dependencies.jar
ไปไว้ที่ %JMETER_HOME%/lib/ext
จากนั้นทำการ start JMeter ขึ้นมา

MQTT จะอยู่ใน Sampler ของ JMeter 

ประกอบไปด้วย

  • MQTT connect สำหรับการเชื่อมต่อไปยัง MQTT server
  • MQTT Pub/Sub Sampler สำหรับการ subscribe และ publish ไปยัง topic ใน MQTT server

แสดงดังรูป

การใช้งานนั้น ก็ตามที่เราต้องการเลยว่า จะทดสอบอะไร

ถ้าเป็นเรื่องของ connection ก็ใช้งาน MQTT Connect ได้เลย
โดยสามารถกำหนดค่า parameter ต่าง ๆ ได้ 
เพื่อดูผลการทำงานว่า มี idle client เท่าไร มี waiting เท่าไร

หรือจะทดสอบการ publish ข้อมูลไปยัง topic ก็ได้

จากนั้นดูผลการทำงานด้วยการเพิ่ม Listerner เช่น view Result Tree มาดูก็ได้ดังนี้


น่าจะเป็นอีกแนวทางหนึ่งในการทดสอบ
ขอให้สนุกกับการทดสอบ performance  ครับ


Viewing all articles
Browse latest Browse all 1997

Trending Articles