Jmeter(一)簡介以及環境搭建

  剛剛在打掃衛生的時候,就一直在思考近一年以來所學知識及體系。知識太過於碎片化,整理的東西全寫在筆記本上,平常工做不可能所有用到,因此複習很重要。所以開始準備將一些知識寫在隨筆裏邊,用於知識體系的重建,知識的總結。html

  敲定了以後,便開始動手吧!java

  就從Jmeter開始吧!那麼就先介紹一下今天的豬腳吧!正則表達式

  Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件作壓力測試,它最初被設計用於Web應用測試,但後來擴展到其餘測試領域。 它能夠用於測試靜態和動態資源,例如靜態文件、Java  小服務程序、CGI 腳本、Java 對象、數據庫、FTP 服務器, 等等。JMeter 能夠用於對服務器、網絡或對象模擬巨大的負載,來自不一樣壓力類別下測試它們的強度和分析總體性能。另外,JMeter可以對應用程序作功能/ 迴歸測試,經過建立帶有斷言的腳原本驗證你的程序返回了你指望的結果。爲了最大限度的靈活性,JMeter容許 使用正則表達式建立斷言。
Apache jmeter 能夠用於對靜態的和動態的資源(文件,Servlet,Perl腳本,java 對象,數據庫和查詢, FTP服務器等等)的性能進行測試。它能夠用於對服務器、網絡或對象模擬繁重的負載來測試它們的強度或分析不一樣壓力類型下的總體性能。你可使用它作性能的圖形分析或在大併發 負載測試你的服務器/腳本/對象。
                                                                ----百度百科
  The  Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.

What can I do with it?

Apache JMeter may be used to test performance both on static and dynamic resources, Web dynamic applications. 
It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types.shell

Apache JMeter features include:數據庫

    • Ability to load and performance test many different applications/server/protocol types:
      • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
      • SOAP / REST Webservices
      • FTP
      • Database via JDBC
      • LDAP
      • Message-oriented middleware (MOM) via JMS
      • Mail - SMTP(S), POP3(S) and IMAP(S)
      • Native commands or shell scripts
      • TCP
      • Java Objects
    • Full featured Test IDE that allows fast Test Plan recording (from Browsers or native applications), building and debugging.
    • Command-line mode (Non GUI / headless mode) to load test from any Java compatible OS (Linux, Windows, Mac OSX, …)
    • A complete and ready to present dynamic HTML report
    • Easy correlation through ability to extract data from most popular response formats, HTMLJSON XML orany textual format
    • Complete portability and 100% Java purity.
    • Full multi-threading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.
    • Caching and offline analysis/replaying of test results.
    • Highly Extensible core:
      • Pluggable Samplers allow unlimited testing capabilities.
      • Scriptable Samplers (JSR223-compatible languages like Groovy and BeanShell)
      • Several load statistics may be chosen with pluggable timers.
      • Data analysis and visualization plugins allow great extensibility as well as personalization.
      • Functions can be used to provide dynamic input to a test or provide data manipulation.
      • Easy Continuous Integration through 3rd party Open Source libraries for Maven, Graddle and Jenkins                                                                                                                                                                                                                  ---------官方介紹(傳送門:http://jmeter.apache.org/)  

  我的看法:Jmeter是一款十分優秀的工具,不過筆者以爲它和日常的工具不同;首先Jmeter是跨系統的,在windows、Mac、Linux都可使用;一方面在於它支持豐富的協議(HTTP、FTP、JDBC、SOCKET。。。);功能方面也相對比較健全(各類各樣的邏輯處理,如條件判斷,循環,僅一次等等);各類檢查點,對文本、Java對象都可進行處理;豐富的圖表展現;此外還有許多第三方插件支持以及第三方集成;且最重要的是開源的。。。apache

  Jmeter安裝:windows

      Jmeter是在JVM上運行的,所以必須先要安裝JDK,不過切記一點,截至今天,Jmeter已經更新到3.3版本,它是不支持JDK1.9的,切記!服務器

      

      傳送門(http://jmeter.apache.org/download_jmeter.cgi)網絡

      

      至於JDK安裝以及環境變量配置,此處便再也不列舉;併發

      Jmeter環境變量配置:

      1,變量名:JMETER_HOME

         變量值:E:\apache-jmeter-3.2(根據本身的解壓目錄而定,筆者使用的是Jmeter3.2的版本)

      2,變量名:CLASSPATH

         變量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;

   OK,環境變量配置結束,能夠至E:\apache-jmeter-3.2\bin(安裝目錄下bin目錄)下尋找jmeter.bat文件,雙擊打開。(可能安裝會遇到各類各樣的問題,筆者曾經在某些技術羣中發現有不用配置環境變量即可以使用(至於到底什麼狀況,不是當事者也不清楚);還有找不到bat文件(系統默認將後綴名進行隱藏掉了嘛))

   

  

 

     看到上方小黑窗,隨後下方Jmeter的彈窗跳出來。那麼恭喜你,Jmeter已經被你給拿下了。

    能夠觀察該小黑窗中的同時內容,

        Don't use GUI mode for load testing, only for Test creation and Test debugging !
        For load testing, use NON GUI Mode:
        jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
        & adapt Java Heap to your test requirements:
        Modify HEAP="-Xms512m -Xmx512m" in the JMeter batch file

    不要使用GUI模式進行負載測試,只用於測試建立和調試!---------------------what mean?

    GUI模式----即是下方的彈窗,此處的意思即是推薦使用GUI模式進行建立腳本以及調試腳本,不推薦進行負載測試(所謂負載測試是屬於性能測試的一種類型,經過測試系統在資源超負荷狀況下的表現,以發現設計上的錯誤和驗證系統的負載能力,在這種測試中,將使測試對象承擔不一樣的工做量,以評測和評估測試對象在不一樣工做量條件下的性能行爲,以及持續正常運行的能力;負載測試的目的是肯定並確保系統在超出最大預期工做量的狀況下仍能正常運行,此外,負載測試還要評估性能特徵;例如:響應時間、事務處理速率和其餘與時間相關方面),所以能夠看出負載測試是比較浪費系統資源的,GUI界面自己便很浪費資源,所以若是出現大併發或者機器處於大負載的狀況下,非但不會獲得你想要的結果,機器是必然會出現卡死的狀況。

    不過,小黑窗的下方一段話也給出瞭解決方案:

    For load testing, use NON GUI Mode:
        jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
        & adapt Java Heap to your test requirements:
        Modify HEAP="-Xms512m -Xmx512m" in the JMeter batch file

    對於負載測試使用no-GUI的方式進行運行:

        jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]

    這段命令即是NO-GUI的方式運行。

    或者進行修改堆內存的大小:

        Jmeter的默認堆爲512m,所以,若是使用Jmeter進行負載測試建議將堆內存進行修改到合適的大小;

    修改方法:

      至E:\apache-jmeter-3.2\bin,使用文本編輯器模式將jmeter.bat文件打開,進行修改heap:

  

 

     修改此處的堆內存大小隻是一種手段,但並非萬能的。所以,作負載測試仍是須要進行謹慎分析,再下結論。

    OK,本篇先記錄到這。。

相關文章
相關標籤/搜索