IBM MQ และ JMeter: การติดต่อครั้งแรก

เฮ้ ฮับ!

นี่เป็นภาคก่อนของฉัน สิ่งพิมพ์ก่อนหน้า และในขณะเดียวกันก็มีการรีเมคบทความด้วย การทดสอบบริการอัตโนมัติโดยใช้โปรโตคอล MQ โดยใช้ JMeter.

ครั้งนี้ ฉันจะเล่าให้คุณฟังเกี่ยวกับประสบการณ์ของฉันในการปรับ JMeter และ IBM MQ เพื่อการทดสอบแอปพลิเคชันบน IBM WAS อย่างมีความสุข ฉันต้องเผชิญกับงานดังกล่าวมันไม่ง่ายเลย อยากช่วยประหยัดเวลาให้กับทุกคนที่สนใจ

IBM MQ และ JMeter: การติดต่อครั้งแรก

การแนะนำ

เกี่ยวกับโครงการ: บัสข้อมูล, ข้อความ xml จำนวนมาก, พื้นที่แลกเปลี่ยนสามแห่ง (คิว, ฐานข้อมูล, ระบบไฟล์), บริการบนเว็บที่มีตรรกะการประมวลผลข้อความของตัวเอง เมื่อโปรเจ็กต์ดำเนินไป การทดสอบด้วยตนเองก็กลายเป็นเรื่องยากมากขึ้น Apache JMeter ถูกเรียกให้มาช่วยเหลือ - ทรงพลังและเป็นโอเพ่นซอร์ส พร้อมด้วยชุมชนผู้ใช้ขนาดใหญ่และอินเทอร์เฟซที่เป็นมิตร ความง่ายในการปรับแต่งเวอร์ชันสำเร็จรูปช่วยให้คุณสามารถครอบคลุมทุกกรณี และคำมั่นสัญญาของผู้พัฒนาหลักที่จะช่วยเหลือ ในกรณี (มันช่วยได้) ในที่สุดก็ยืนยันการเลือกของฉัน

การเตรียมบริบทเริ่มต้น

หากต้องการโต้ตอบกับผู้จัดการคิว คุณต้องมีบริบทเริ่มต้น มีหลายประเภทที่นี่ ที่นี่ คุณสามารถอ่านเพิ่มเติมได้
หากต้องการสร้างมัน จะสะดวกในการใช้ MQ Explorer:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 1: การเพิ่มบริบทเริ่มต้น

เลือกประเภทไฟล์บริบทและไดเร็กทอรีหน่วยเก็บข้อมูล .การผูก ไฟล์ที่จะมีคำอธิบายของวัตถุ JNDI:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 2: การเลือกประเภทบริบทเริ่มต้น

จากนั้นคุณก็สามารถเริ่มสร้างวัตถุเหล่านี้ได้ และเริ่มต้นด้วยโรงงานเชื่อมต่อ:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 3: การสร้างโรงงานการเชื่อมต่อ

เลือกชื่อที่เป็นมิตร...

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 4: การเลือกชื่อโรงงานการเชื่อมต่อ

... และพิมพ์ โรงงานเชื่อมต่อคิว:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 5: การเลือกประเภทโรงงานการเชื่อมต่อ

มาตรการ - ลูกค้า MQ เพื่อให้สามารถโต้ตอบกับ MQ จากระยะไกล:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 6: การเลือกโปรโตคอลการเชื่อมต่อจากโรงงาน

ในขั้นตอนถัดไป คุณสามารถเลือกโรงงานที่มีอยู่แล้วคัดลอกการตั้งค่าเพิ่มเติมจากนั้นได้ คลิก ถัดไปหากไม่มี:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 7: การเลือกการตั้งค่าสำหรับโรงงานการเชื่อมต่อที่มีอยู่

ในหน้าต่างการเลือกพารามิเตอร์ ก็เพียงพอที่จะระบุสามรายการ บนแท็บ การเชื่อมต่อ ระบุชื่อของผู้จัดการคิวและหมายเลข IP พร้อมที่ตั้ง (พอร์ต 1414 ออกจาก):

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 8: การกำหนดค่าพารามิเตอร์โรงงานการเชื่อมต่อ

และบนแท็บ ช่องทาง – ช่องทางการเชื่อมต่อ คลิก เสร็จสิ้น ทำให้สมบูรณ์:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 9: การสร้างโรงงานการเชื่อมต่อเสร็จสมบูรณ์

ตอนนี้เรามาสร้างการเชื่อมต่อกับคิวกัน:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 10: การสร้างวัตถุเป้าหมาย

เรามาเลือกชื่อที่เป็นมิตร (ฉันชอบระบุชื่อจริงของคิว) แล้วพิมพ์ คิว:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 11: การเลือกชื่อและประเภทเป้าหมาย

โดยการเปรียบเทียบกับ รูปที่ 7 คุณสามารถคัดลอกการตั้งค่าจากคิวที่มีอยู่ได้ คลิกเช่นกัน ถัดไปถ้าเป็นอันแรก:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 12: การเลือกการตั้งค่าสำหรับเป้าหมายที่มีอยู่

ในหน้าต่างการตั้งค่า เพียงเลือกชื่อผู้จัดการและคิวที่ต้องการ คลิก เสร็จสิ้น. จากนั้นทำซ้ำตามจำนวนที่ต้องการจนกระทั่งคิวทั้งหมดที่จำเป็นในการโต้ตอบกับ JMeter ได้ถูกสร้างขึ้น:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 13: การสร้างเป้าหมายให้เสร็จสมบูรณ์

กำลังเตรียม JMeter

การเตรียม JMeter เกี่ยวข้องกับการเพิ่มไลบรารีที่จำเป็นในการโต้ตอบกับ MQ ตั้งอยู่ใน %wmq_home%/java/lib คัดลอกไปที่ %jmeter_home%/lib/ext ก่อนเริ่ม JMeter

  • com.ibm.mq.commonservices.jar
  • com.ibm.mq.headers.jar
  • com.ibm.mq.jar
  • com.ibm.mq.jmqi.jar
  • com.ibm.mq.pcf.jar
  • com.ibm.mqjms.jar
  • dhbcore.jar
  • fscontext.jar
  • jms.โถ
  • jta.jar
  • providerutil.jar

แนะนำรายการทางเลือก โพลานิค в แสดงความคิดเห็น มีความแตกต่างเล็กน้อย: javax.jms-api-2.0.jar แทนที่จะเป็น jms.jar
เกิดข้อผิดพลาด NoClassDEfFoundError เกิดขึ้นกับ jms.jar ซึ่งเป็นวิธีแก้ไขปัญหาที่ฉันพบ ที่นี่.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • providerutil.jar

รายการไลบรารีทั้งสองทำงานกับ JMeter 5.0 และ IBM MQ 8.0.0.4 ได้สำเร็จ

จัดทำแผนการทดสอบ

ชุดองค์ประกอบ JMeter ที่จำเป็นและเพียงพอมีลักษณะดังนี้:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 14: แผนการทดสอบ

มีตัวแปรห้าตัวในแผนการทดสอบตัวอย่าง แม้ว่าจะมีจำนวนน้อย แต่ฉันแนะนำให้สร้างองค์ประกอบการกำหนดค่าแยกต่างหากสำหรับตัวแปรประเภทต่างๆ เมื่อการทดสอบเติบโตขึ้น สิ่งนี้จะทำให้การนำทางง่ายขึ้นมาก ในกรณีนี้ เราได้รับสองรายการ ตัวแรกประกอบด้วยพารามิเตอร์สำหรับเชื่อมต่อกับ MQ (ดู 2 รูป и 4 รูป):

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 15: ตัวเลือกการเชื่อมต่อ MQ

ประการที่สองคือชื่อของวัตถุเป้าหมายที่อ้างถึงคิว:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 16: ชื่อคิวที่กำหนดพารามิเตอร์

สิ่งที่เหลืออยู่คือการกำหนดค่า JMS Publisher เพื่อโหลดข้อความทดสอบลงในคิวขาออก:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 17: การตั้งค่า JMS Publisher

และ JMS Subscriber เพื่ออ่านข้อความจากคิวที่เข้ามา:

IBM MQ และ JMeter: การติดต่อครั้งแรก
รูปที่ 18: การกำหนดค่าสมาชิก JMS

หากทุกอย่างถูกต้องผลลัพธ์ของการดำเนินการในรายการจะเต็มไปด้วยสีเขียวสดใสและร่าเริง

ข้อสรุป

ฉันจงใจละเว้นประเด็นเรื่องการกำหนดเส้นทางและการดูแลระบบซึ่งเป็นหัวข้อที่ค่อนข้างใกล้ชิดและกว้างขวางสำหรับสิ่งพิมพ์แยกต่างหาก

นอกจากนี้ยังมีความแตกต่างที่สำคัญในการทำงานกับคิวฐานข้อมูลและไฟล์ซึ่งฉันอยากจะพูดถึงแยกกันและโดยละเอียดด้วย

ประหยัดเวลาของคุณ และขอขอบคุณสำหรับความสนใจของคุณ

IBM MQ และ JMeter: การติดต่อครั้งแรก

ที่มา: will.com