1.下載AMQP插件git
github上面有源碼,能夠經過ant+ivy在本地進行打包(下載IDEA實踐成功)github
https://github.com/jlavallee/JMeter-Rabbit-AMQP(github 上面支持中文有問題)fetch
已經解決好亂碼的插件:插件下載ui
2.將下載的插件放到Jmeter--lib/ext目錄,而後啓動程序,能夠看到"AMQP Publisher" 和 "AMQP Consumer" 2個選項.net
3.AMQP Publisher/Consumer 請求 介紹插件
Exchange(交換機):若是此處不填寫,使用默認名稱--(AMQP default)blog
Exchange Type:分別是direct(單播),fanout(廣播),topic(組播),headers,每種類型路由的策略不一樣,公司用direct 和 fanout 這2種路由居多rabbitmq
direct:若是一個隊列綁定到該交換機上,而且當前要求路由鍵爲 X ,只有路由鍵是 X 的消息纔會被這個隊列轉發。默認交換機即是該類型。
fanout:一個發送到交換機上的消息都會被轉發到與該交換機綁定的全部隊列上。 Fanout 交換機發消息是最快的。隊列
topic:將路由鍵和某模式進行匹配,能夠理解成模糊處理(不是特別明白)路由
Durable(持久化):具備這個標誌的隊列和交換機會在重啓以後從新創建,它不表示說在隊列當中的消息會在重啓後恢復
Redeclare(重定義):此功能不是特別清楚
Message TTL(Time-To-Live Extensions):消息過時時間,時間爲毫秒
Exclusive(排他性隊列):建立一個只有本身可見的隊列,即不容許其它用戶訪問,在沒有消費者來消費的時候,他就會自動的刪除
Expire(超期時間):該值必須爲正數(與消息 TTL 不一樣,該值不能夠爲 0),因此若是該參數設置爲 1000 ,則表示該 queue 若是在 1 秒鐘以內未被使用則會被刪除。
Auto delete:當沒有隊列或者其餘exchange綁定到此exchange的時候,該exchange被銷燬
Prefect Count:消費者自身處理能力有限,從rabbitmq獲取必定數量的消息後,但願rabbitmq再也不將隊列中的消息推送過來,當對消息處理完後(即對消息進行了ack,而且有能力處理更多的消息)再接收來自隊列的消息。在這種場景下,咱們能夠經過設置basic.qos信令中的prefetch_count來達到這種效果(通常不用設置)
經過Jmeter實現請求:
參考用例:https://github.com/jlavallee/JMeter-Rabbit-AMQP/blob/master/examples/RPC_Load_Test.jmx
備註:若是Reply-to Queue爲空,則"AMQP Consumer--Queue"爲空,不能獲得返回數據
參考文獻:
http://www.tuicool.com/articles/6BRzMji
http://www.bbsmax.com/A/lamd0MWzge/
--------------------- 本文來自 小李廣 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/luozhuwang/article/details/62044872?utm_source=copy