JMeter Distributed Testing Step-by-step

  這個簡短的教程解釋瞭如何使用多個系統進行壓力測試。 在我們開始之前,有幾件事要檢查。

     1.關閉防火牆。

     2.所有的客戶端都在同一個子網上。

     3.如果使用192.x.x.x或10.x.x.x ip地址,則服務器要位於同一子網中。 如果是服務器不使用        192或10 段的ip地址,就不會有任何問題。

     4.確保JMeter可以訪問服務器。

     5.確保在所有系統上使用相同版本的JMeter。 混合版本可能不會正常工作

  一旦你確定系統準備好了,那麼是時候安裝遠程測試了。 教程假設您已經在所有系統上安裝了JMeter。 JMeter工作的方式是1個master(主機)控制器多個slave(從機)開啓測試。

               wKiom1jTOALgx_3kAABUVZQcKMA157.png


術語

   在我們一步步深入學習之前,最好定義下術語並且確定能清晰的理解這些術語  

    Master - 此係統運行Jmeter GUI,用於控制測試

    Slave - 此係統運行jmeter-server,它從GUI中接收命令併發送請求到目標系統

    Target - 我們計劃壓力測試的網絡服務器

    wKiom1jTOUOjytNWAABcSqtp-Kc408.png


一步一步地

    1.在Slave系統上,轉到jmeter / bin目錄並執行jmeter-server.bat(在linux上是jmeter-server )。 在windows上,你應該看到一個dos窗口出現,並帶有“jre \ [version] \ bin \ rmiregistry.exe”。如果沒有發生這種情況,或者意味着環境設置是不正確的,或者是系統上安裝了多種的JRE。注意:[version]將是系統上應該安裝的jre版本。

        1.在文本編輯器中打開jmeter-server.bat

        2.轉到第44行,找到“:setCP”

        3.編輯“ START rmiregistry”到完整的路徑。 示例:“START”C:\ <JAVA_HOME> \             jre \ bin \ rmiregistry“

   

    2.在作爲控制檯的master系統上,打開Windows資源管理器並轉到jmeter / bin目錄

    3.在文本編輯器中打開jmeter.properties

    4.編輯行“remote_hosts = 127.0.0.1”

    5.添加IP地址。 例如,如果我在192.168.0.10,11,12,13和14上運行jmeter服務器,所有就像:remote_hosts = 192.168.0.10,192.168.0.11,192.168.0.12,192.168.0.13,192.168.0.14

    6.啓動Jmeter。

    7.打開您要使用的測試計劃

      wKiom1jTO8-S5iiuAADKa_ZHJXE139.png


開始測試

       此時,您已準備好開始加載測試。 如果要再次檢查slave系統的工作情況,在記事本中打開jmeter.log。 您應該在日誌中看到以下內容:

         Jmeter.engine.RemoteJMeterEngineImpl:啓動後備引擎

      如果您沒有看到此消息,則表示jmeter-server未正確啓動。 有關調試的提示問題,請到提示部分。有兩種啓動測試的方法:單個系統和全部系統。

    啓動單一客戶端

      wKiom1jTPMWxYUC8AADavhJXT64837.png

        1.在頂部點擊運行

        2.選擇遠程啓動

        3.選擇IP地址

   啓動所有客戶端

      wKioL1jTPTuARWJmAACtf5_hTg0217.png    

       1.在頂部單機運行

       2.選擇遠程啓動全部或使用CTRL-Z


限制

  分佈式測試有一些基本限制。以下是已知的具體內容。

  1.沒有代理的話,RMI不能跨子網進行通信; 因此,沒有一個代理,就不能Jmeter。

  2.由於JMeter將所有測試結果發送到控制檯,容易使網絡IO飽和。使用simple data writer 監聽器保存結果並使用圖表監聽器查看文件是一個好主意。

  3.除非服務器是大型多處理器系統,否則大多數情況下,1-2個客戶端就足夠了壓測服務器。

  4.依據測試類型,運行在2-3Ghz CPU(最近的CPU)的單個JMeter客戶端可以處理300-600個線程。 (Webservices是例外)。 XML處理是CPU級的,並將快速消耗所有CPU週期。 作爲一般規則,XMLcentric應用程序的性能將比使用二進制協議的應用程序慢4到10倍。作爲一般規則,以XML爲中心的應用程序的性能將比使用二進制協議的應用程序慢4到10倍。


額外的資源

     https://wiki.apache.org/jmeter/JMeterFAQ#How_to_do_remote_testing_the_.27proper_way.27.3F

 http://jmeter.apache.org/usermanual/remote-test.html


注意事項

 在某些情況下,防火牆可能仍然阻止RMI流量。

 賽門鐵克防病毒和防火牆 

    在某些情況下,Symantec防火牆需要從Windows服務中停止。 

    1.打開控制面板

    2.開放管理工具

    3.雙擊服務

    4.轉到symantec反病毒,右鍵單擊並選擇停止

 windows防火牆 

    1.打開網絡連接

    2.選擇網絡連接

    3.右鍵單擊並選擇屬性

    4.選擇高級選項卡

    5.取消選中互聯網連接防火牆

Linux

   在Suse linux上,ipchains默認打開。 有關說明,請參閱用戶手冊中的“遠程測試”。

   在RedHat(或派生系統)上,iptables(netfilter)默認打開。 執行“service iptables stop“來停止Linux netfilter防火牆。

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