IBM MQ và JMeter: Liên hệ đầu tiên

Này Habr!

Đây là phần tiền truyện của tôi xuất bản trước và đồng thời làm lại bài viết Kiểm tra tự động các dịch vụ bằng giao thức MQ bằng JMeter.

Lần này tôi sẽ kể cho bạn nghe về trải nghiệm của tôi trong việc kết hợp JMeter và IBM MQ để thử nghiệm các ứng dụng trên IBM WAS một cách vui vẻ. Tôi đã phải đối mặt với một nhiệm vụ như vậy, nó không hề dễ dàng. Tôi muốn giúp tiết kiệm thời gian cho tất cả mọi người quan tâm.

IBM MQ và JMeter: Liên hệ đầu tiên

Giới thiệu

Giới thiệu về dự án: bus dữ liệu, nhiều tin nhắn xml, ba khu vực trao đổi (hàng đợi, cơ sở dữ liệu, hệ thống tệp), các dịch vụ web có logic xử lý tin nhắn riêng. Khi dự án tiến triển, việc kiểm thử thủ công ngày càng trở nên khó khăn. Apache JMeter đã được kêu gọi giải cứu - nguồn mở và mạnh mẽ, với cộng đồng người dùng lớn và giao diện thân thiện. Sự dễ dàng tùy chỉnh của phiên bản dùng ngay cho phép bạn giải quyết mọi trường hợp và lời hứa trợ giúp của nhà phát triển chính nếu bất cứ điều gì (nó đã giúp ích) cuối cùng đã xác nhận sự lựa chọn của tôi.

Chuẩn bị bối cảnh ban đầu

Để tương tác với trình quản lý hàng đợi, bạn cần có ngữ cảnh ban đầu. Có mấy loại đây đây bạn có thể đọc thêm
Để tạo nó, thật thuận tiện khi sử dụng MQ Explorer:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 1: Thêm bối cảnh ban đầu

Chọn loại tệp ngữ cảnh và thư mục lưu trữ .ràng buộc tệp sẽ chứa mô tả về các đối tượng JNDI:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 2: Chọn kiểu bối cảnh ban đầu

Sau đó, bạn có thể bắt đầu tạo các đối tượng này. Và bắt đầu với nhà máy kết nối:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 3: Tạo nhà máy kết nối

Chọn một cái tên thân thiện...

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 4: Chọn tên nhà máy kết nối

... và gõ Nhà máy kết nối hàng đợi:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 5: Lựa chọn kiểu kết nối nhà máy

Giao thức - Khách hàng MQ để có thể tương tác với MQ từ xa:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 6: Lựa chọn giao thức kết nối của nhà máy

Trong bước tiếp theo, bạn có thể chọn nhà máy hiện có và sao chép các cài đặt khác từ đó. Nhấp chuột Trang Tiếp, nếu không có:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 7: Lựa chọn cài đặt cho nhà máy kết nối hiện có

Trong cửa sổ chọn tham số, chỉ cần chỉ định ba là đủ. Trên tab Kết nối cho biết tên của trình quản lý hàng đợi và giá đỡ IP cùng với vị trí của nó (cổng 1414 rời khỏi):

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 8: Cấu hình các thông số của Connection Factory

Và trên tab Các kênh - kênh để kết nối. Nhấp chuột Kết thúc hoàn thành:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 9: Hoàn tất việc tạo kết nối Factory

Bây giờ hãy tạo kết nối đến hàng đợi:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 10: Tạo đối tượng đích

Hãy chọn một cái tên thân thiện (tôi thích chỉ ra tên thật của hàng đợi) và gõ Hàng đợi:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 11: Chọn tên và loại mục tiêu

Bằng cách tương tự với Hình 7 Bạn có thể sao chép cài đặt từ hàng đợi hiện có. Đồng thời nhấp vào Trang Tiếp, nếu đó là lần đầu tiên:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 12: Chọn cài đặt cho mục tiêu hiện có

Trong cửa sổ cài đặt, chỉ cần chọn tên người quản lý và hàng đợi mong muốn, nhấp vào Kết thúc. Sau đó lặp lại số lần cần thiết cho đến khi tất cả các hàng đợi cần thiết để tương tác với JMeter đã được tạo:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 13: Hoàn tất việc tạo mục tiêu

Đang chuẩn bị JMeter

Chuẩn bị JMeter liên quan đến việc thêm các thư viện cần thiết để tương tác với MQ. Chúng nằm ở %wmq_home%/java/lib. Sao chép chúng vào %jmeter_home%/lib/ext trước khi khởi động 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.jar
  • jta.jar
  • nhà cung cấputil.jar

Danh sách thay thế được đề xuất Polarnik в bình luận với một sắc thái nhỏ: javax.jms-api-2.0.jar thay vì jms.jar.
Đã xảy ra lỗi NoClassDEfFoundError với jms.jar, giải pháp mà tôi đã tìm thấy đây.

  • com.ibm.mq.allclient.jar
  • fscontext.jar
  • javax.jms-api-2.0.jar
  • nhà cung cấputil.jar

Cả hai danh sách thư viện đều hoạt động thành công với JMeter 5.0 và IBM MQ 8.0.0.4.

Thiết lập kế hoạch kiểm tra

Tập hợp các phần tử JMeter cần và đủ trông như thế này:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 14: Kế hoạch kiểm tra

Có năm biến trong kế hoạch kiểm tra ví dụ. Mặc dù số lượng nhỏ nhưng tôi khuyên bạn nên tạo các thành phần cấu hình riêng biệt cho các loại biến khác nhau. Khi các thử nghiệm phát triển, điều này sẽ giúp việc điều hướng dễ dàng hơn nhiều. Trong trường hợp này, chúng tôi nhận được hai danh sách. Phần đầu tiên chứa các tham số để kết nối với MQ (xem. Hình 2 и Hình 4):

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 15: Các tùy chọn kết nối MQ

Thứ hai là tên của các đối tượng đích tham chiếu đến hàng đợi:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 16: Tên hàng đợi được tham số hóa

Tất cả những gì còn lại là định cấu hình Nhà xuất bản JMS để tải tin nhắn kiểm tra vào hàng đợi gửi đi:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 17: Thiết lập JMS Publishing

Và Người đăng ký JMS để đọc tin nhắn từ hàng đợi đến:

IBM MQ và JMeter: Liên hệ đầu tiên
Hình 18: Cấu hình thuê bao JMS

Nếu mọi thứ được thực hiện chính xác, kết quả thực thi trong trình nghe sẽ tràn ngập màu xanh lá cây tươi sáng và vui tươi.

Kết luận

Tôi cố tình bỏ qua các vấn đề về định tuyến và quản trị; đây là những chủ đề khá sâu sắc và sâu rộng cho các ấn phẩm riêng biệt.

Ngoài ra, có một phần đáng kể các sắc thái khi làm việc với hàng đợi, cơ sở dữ liệu và tệp mà tôi cũng muốn nói riêng và chi tiết.

Tiết kiệm thời gian của bạn. Và cảm ơn sự quan tâm của bạn.

IBM MQ và JMeter: Liên hệ đầu tiên

Nguồn: www.habr.com

Mua dịch vụ lưu trữ đáng tin cậy cho các trang web có bảo vệ DDoS, máy chủ VPS VDS 🔥 Mua dịch vụ hosting website đáng tin cậy với bảo vệ DDoS, máy chủ VPS VDS | ProHoster