使用Jmeter創建ActiveMQ JMS POINT TO POINT請求,環境搭建、請求創建、插件安裝、監聽服務器資源等

最近要做公司消息中間件的性能測試,第一個想到的工具就是Jmeter了,網上簡單搜了一下,基本上都是WEB測試的居多,只好自己研究官方文檔了。

其中涉及Jmeter基本的術語或者概念,請自行參考官方文檔或者google,這裏主要講JMS PTP請求是如何建立的。

準備工作:

  • 安裝JDK,推薦使用1.7以上版本,並設置JAVA_HOME
  • 下載Jmeter及相關插件:Jmeter下載地址點我插件下載地址點我ActiveMQ下載地址點我
  •  插件安裝:
    • 分別解壓前兩個插件,將解壓後文件夾中lib\ext目錄下的JmeterPlugins-Standard.jar和JmeterPlugins-Extras.jar拷貝到剛JMETER_HOME\lib\ext目錄下
    • 解壓ServerAgent-2.2.1.zip
  • 針對JMS類型的Sampler,需要額外的jar包(我這裏用的是apache ActiveMQ,將下載的AMQ apache-activemq-5.11.1根目錄下的activemq-all-5.11.1.jar拷貝到JMETER_HOME\lib目錄下)
  • 啓動ActiveMQ:打開dos窗口,進入ActiveMQ解壓目錄下的bin目錄,輸入命令:activemq.bat start
    • Tips:在啓動ActiveMQ前,修改conf目錄下的activemq.xml中的配置
      <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=65535&amp;wireFormat.maxFrameSize=104857600"/>

      上面標記的這個數字爲最大連接數,自己設置,如果太小的話會導致發送的請求都被拒絕

  • 啓動ServerAgent:進入剛纔解壓的目錄,以管理員身份運行startAgent.bat

  哈哈,有木有覺得很麻煩,有點不耐煩了呢?至此,所有的準備工作已經就緒,下面開始使用Jmeter。

創建JMS P2P請求:

  • 啓動Jmeter:進入JMETER_HOME\bin目錄,以管理員身份運行Jmeter.bat,此時會啓動兩個窗口,一個是dos窗口(請勿關閉此窗口),另一個是Jmeter的GUI界面
  • 添加一個線程組
  • 添加Samper:選擇JMS POINT TO POINT
  • 配置Sampler,這一塊纔是重點,因爲要用到JNDI,之前網上看了些文章,都是直接修改ApacheJMeter_core.jar中的jemeter.properties文件,這種方式比較麻煩,涉及重新打包,這裏我就直接在Jmeter GUI中配置JNDI的屬性,具體見下圖:

    • QueueConnection Factory:連接名
    • JNDI name Request queue:JNDI請求發送隊列名
    • JNDI name Recieve queue:JNDI接收隊列
    • TimeOut:超時時長
    • Expiration:過期時間
    • Communication style:Request only(只發送請求,如果選擇Request Response模式,需要設置CorrelationId,並且需要服務端調用getReplyTo()方法來監聽請求,這個一直沒調通,回頭再研究看看能不能通過自己寫代碼實現)
    • Content:發送消息內容,這裏調用Jmeter的函數助手發送512個字符
    • Initial Context Factory:org.apache.activemq.jndi.ActiveMQInitialContextFactory(這個在之前從AMQ中拷貝到Jmeter\lib中的jar包裏,Jmeter會自動掃描到)
    • JNDI Properties,queue.Test.Request和queue.Test.Reply,這裏定義前面用到的兩個變量
    • Provider URL:tcp://localhost:61616,這個是消息服務器的ip和端口,我這裏用的本地的
  • 下面就是添加監聽器了,添加一個聚合報告,然後再添加一個jp@gc - PerfMon Metrics Collector監聽器,其它的監聽器及配置元件根據自己的實際需要來添加,這裏貼一個PerfMon Metrics Collector配置

  • 現在,一個JMS PTP的採樣器已經配置完成,去設置一個線程開始跑起來吧,下面是一次運行後的結果

聚合報告:

服務器資源佔用情況:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章