JMeter AMF Sampler

เนื่องจากต้องทำ Load Test แล้วหา JMeter Sampler ที่ใช้กับ AMF ง่าย ๆ ไม่ได้ (ส่วนใหญ่ต้องตั้ง HTTP Server มาดัก request แล้วเอาไป replay ซ้ำ) เลยเขียนเองซะเลย เสียเวลาในการทำงานต่าง ๆ ไปอาทิตย์เต็ม ๆ แต่ก็คงคุ้มกับการทำมั้ง

ใช้งาน

  1. ดาวโหลด amf.jar ไปวางไว้ที่ directory /lib/ext ของ JMeter แล้วก็ขยายเอา jar ออกมา
  2. ดาวโหลด flex-messaging ไปวางไว้ที่ directory /lib ของ JMeter แล้วขยายเอา jar ออกมา ไฟล์นี้สามารถดาวโหลดจากเว็บ Adobe ได้ตรง ๆ ที่ project
    BlazeDS เพียงแต่ จะไม่สามารถใช้กับ GraniteDS ได้เพราะมีบาง attribute ที่ไม่เหมือนกัน
  3. เปิด JMeter ขึ้นมา แล้วเพิ่ม Sampler ต่าง ๆ จะได้เหมือนภาพด้านล่าง

    • Address คือที่อยู่ของ AMF Servlet
    • Service คือชื่อของ class ที่ประกาศใน services-config.xml
    • Method คือชื่อ method ในคลาส
    • Arguments คือ Arguments ใน method เรียงตามลำดับจากบนลงล่าง
  4. รันแล้วดูผลลัพธ์ใน View Results Tree

สิ่งที่ยังไม่ได้ทำ

  1. ใส่ Argument เป็น Object เพื่อส่งไปยัง Server
  2. Arguments จริง ๆ ไม่จำเป็นต้องใส่ชื่อ เพราะขึ้นอยู่กับลำดับชั้น คิดว่าจะเอาออกในภายหลัง
  3. ทดลองกับ GraniteDS เท่านั้น ยังไม่ได้ลองกับ Adobe BlazeDS และ Adobe Live Cycle

สำหรับคนที่จะเอาไปทำต่อก็ clone source ได้จาก AMF Project อยากได้คนช่วยทำเยอะ ๆ เพราะคิดว่ามีบั๊กอยู่พอสมควร ส่วน source ที่แก้ใน Flex Messaging จะเอามาแปะในภายหลัง ว่าแก้อะไรไปบ้าง :)

เพิ่มเติม : ได้รับเสียงบ่นพอสมควรว่าเอาไปใช้ไม่ได้ เลยเอามาเพิ่มไว้หน่อย เผื่อเอาไปดูแล้วแก้ไขกันต่อไป

About llun

Just a programmer

, , , ,

  • martino

    Hi there,
    I found your post very cool!

    I am trying to use it but is not working for me!… can you help me?

    Thanks!

    • http://llun.info llun

      I added sample JMX Test plan file in post you can download here