乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Jmeter壓力測(cè)試自動(dòng)化

       小豬窩969 2016-03-16
      壓力測(cè)試能不能自動(dòng)化?當(dāng)然能,而且也可以進(jìn)一步加入持續(xù)集成,說(shuō)到底無(wú)非就是一個(gè)job的事兒。

      在越來(lái)越快的迭代中,性能測(cè)試是否一個(gè)系統(tǒng)一輩子只需做一次就夠了?

      一周一個(gè)版本,接口、數(shù)據(jù)庫(kù)、代碼不斷頻繁改動(dòng),如何保證現(xiàn)有改動(dòng)不影響性能?

      想要做一個(gè)千萬(wàn)級(jí)用戶的應(yīng)用,任何一點(diǎn)接口修改的失誤或者bug,可能對(duì)性能的影響都是致命的。




      給大家分享一下,目前在項(xiàng)目中做的壓力測(cè)試自動(dòng)化相關(guān),有需要的可以參考下

      (初步版本,先描述大概思路,如果感興趣的人多再補(bǔ)充后續(xù))




      環(huán)境篇——

      性能測(cè)試工具:Jmeter 2.11


      持續(xù)集成平臺(tái):Jenkins 1.606  + 插件 Performance Plugin v1.13

      地址:http:///  


      建議使用最新版本,之前的版本都會(huì)有各種奇怪的bug,已踩過(guò)深坑…...




      1、安裝Linux Jenkins

      使用64位Linux做為服務(wù)器,安裝tomcat+Jenkins 形式部署 jenkins,壓力測(cè)試生成的 jtl 文件可能會(huì)比較大,如果 tomcat 分配的內(nèi)存過(guò)小,多半會(huì) opps!




      2、拷貝tools.jar

      部分jdk和公司標(biāo)裝的機(jī)器可能沒(méi)有tools.jar , 從有該 jar 包的目錄拷貝一個(gè)到對(duì)應(yīng)的jdk 環(huán)境變量中,放到 JDK 的 lib 目錄下

      否則可能會(huì)遇到報(bào)錯(cuò):

      Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.6/lib/tools.jar




      3、設(shè)置 JMETER_HOME

      在運(yùn)行性能測(cè)試的執(zhí)行及上,配置 JMETER_HOME

      否則可能出現(xiàn)報(bào)錯(cuò):

      You must set jmeterhome to your JMeter install directory




      4、拷貝 ant-jmeter-1.1.1.jar 

      為了能夠在后續(xù) ant 腳本中使用 jmeter task,必須要將 ant-jmeter-1.1.1.jar 拷貝到執(zhí)行機(jī) ant 的 classpath 中(即拷貝到 ant 的 lib 目錄中),這個(gè) jar 包一般可以在 jmeter 的目錄 lib/extras 中找到

      否則可能出現(xiàn)報(bào)錯(cuò):

      task class org.programmerplanet.ant.taskefs.jmeter.JMeterTask cannot be found







      編寫篇——

      Jmeter怎么進(jìn)行性能測(cè)試?不再該篇文章中贅述




      1、生成性能測(cè)試案例 jmx 文件


      • 性能測(cè)試的每個(gè)測(cè)試場(chǎng)景在 Jmeter 中都可以生成
      • 盡量去除掉所有不必要的 listener ,只留一個(gè)聚合報(bào)告即可。
      • 生成的 jmx 文件名字中不要含有中文,否則生成報(bào)告中會(huì)有亂碼




      2、編寫ant 腳本


      • 可參考如下 build.xml 腳本,腳本可以通用,只需要在不同 job 中設(shè)置對(duì)應(yīng)要運(yùn)行的 jmx 名稱即可
      • 最后一段被注釋掉的,可以用于將 jtl 生成 html 報(bào)告,方便人閱讀,但是同時(shí)加上這個(gè)target 在轉(zhuǎn)換時(shí)候很吃 jenkins 的內(nèi)存。諸君可自行選擇
      • jmx 性能測(cè)試腳本,個(gè)人建議無(wú)需設(shè)置太長(zhǎng)運(yùn)行時(shí)間,在項(xiàng)目中目前一般設(shè)置為 300s,時(shí)間太短性能測(cè)試無(wú)法有效反映指標(biāo),時(shí)間越長(zhǎng) 生成的 jtl 也越大,影響后續(xù)解析 


      1. <?xml version="1.0" encoding="UTF-8"?>  
      2. <project name='PerformanceTest'>  
      3.     <!-- ant-jmeter.jar comes with jmeter, be sure this is the release you have -->  
      4.     <property name="JMETER_HOME" value="/wls/pawf/tool/apache-jmeter-2.11" />  
      5.     <property name="properties.path" value="/wls/pawf/tool/apache-jmeter-2.11/bin/jmeter.properties" />  
      6.     <property environment="env" />  
      7.     <path id="ant.jmeter.classpath">  
      8.         <pathelement location="${JMETER_HOME}/extras/ant-jmeter-1.1.1.jar" />  
      9.     </path>  
      10.   
      11.     <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" classpathref="ant.jmeter.classpath" />  
      12.   
      13.   
      14.     <target name="clean">  
      15.         <delete file="jmeter.log" />  
      16.         <mkdir dir="${env.WORKSPACE}/results/${env.BUILD_ID}" />  
      17.   
      18.     </target>  
      19.   
      20.     <target name="run" depends="clean">  
      21.         <jmeter jmeterhome="${JMETER_HOME}" jmeterproperties="${properties.path}" runremote="true" resultlogdir="${env.WORKSPACE}/results/${env.BUILD_ID}">  
      22.             <testplans dir="/wls/pawf/testcase" includes="${TestCaseName}.jmx" />  
      23.             <property name="jmeter.save.saveservice.output_format" value="xml" />  
      24.         </jmeter>  
      25.     </target>  
      26.   
      27.   
      28.     <!-- This is not needed for the plugin, but it produces a nice html report  
      29.            which can be saved usin jenkins's archive artifact feature -->  
      30.     <!--  
      31.     <target name="report" depends="test">  
      32.         <xslt  
      33.            basedir="results/jtl"  
      34.            destdir="results/html"  
      35.            includes="*.jtl"/>  
      36.           
      37.            style="${JMETER_HOME}/extras/jmeter-results-detail-report_21.xsl"/>  
      38.                       
      39.     </target>  
      40.       
      41.     <target name="all" depends="test"/>   
      42.     --></span>  
      43. </project>  








      運(yùn)行篇——




      1、在 jenkins 上配置 job 進(jìn)行運(yùn)行。

           參數(shù)化構(gòu)建過(guò)程。使用一個(gè) ant 的 build 文件運(yùn)行所有的 jmx 性能測(cè)試案例。但保持每個(gè) job 只有一個(gè) jmx 案例,各自獨(dú)立,互不影響。










      2、運(yùn)行 ant ,直接運(yùn)行指定的build文件即可,注意執(zhí)行機(jī)上需要有 ant 的環(huán)境變量。在我做的這個(gè)項(xiàng)目中,通過(guò)步驟1中的 String Parameter 所有job都使用一個(gè)build文件。










      3、jenkins插件解析 jtl 性能測(cè)試結(jié)果文件

      這里就是上文所說(shuō)的Performance Plugin 插件出場(chǎng)了,在構(gòu)建后步驟中選擇 “Publish Performance test result report” 

      配置生成的 jtl 文件的路徑位置

      正常情況下一般配置這個(gè)就可以了,不過(guò)在進(jìn)行單個(gè)性能測(cè)試時(shí)候,我們可以好好的利用該插件中 “Use Relative thresholds for build comparison”,可以比較平均時(shí)間、中位數(shù)時(shí)間和 90%Line時(shí)間。











      勾選 “compare with previous Build” 可以與上一次運(yùn)行的性能測(cè)試結(jié)果比較。

      勾選“compare with Build number”可以與指定的哪一次運(yùn)行的性能測(cè)試結(jié)果比較,0為不比較。

      其中“Unstable % Range”表示波動(dòng) ±百分比范圍內(nèi),將本次運(yùn)行結(jié)果置為 Unstable


             “Failed % Range” 表示波動(dòng) ±百分比范圍內(nèi),將本次運(yùn)行結(jié)果置為 Failed




      如下圖,會(huì)計(jì)算出兩次運(yùn)行之間 90%Line 時(shí)間的差值為148.0,和相差的百分比為 5.37%


       





      4、測(cè)試結(jié)果圖表

      這是最簡(jiǎn)單的......也是最直觀的。

      如下圖,經(jīng)過(guò)至少兩次運(yùn)行之后,job 會(huì)運(yùn)行出對(duì)應(yīng)的性能測(cè)試趨勢(shì)圖。

      第一幅圖:每秒吞吐量 TPS 趨勢(shì)圖

      第二幅圖:響應(yīng)時(shí)間趨勢(shì)圖,紅色——90%Line響應(yīng)時(shí)間

                                                     藍(lán)色——平均響應(yīng)時(shí)間

                                                     綠色——中位數(shù)響應(yīng)時(shí)間

      第三幅圖:錯(cuò)誤率趨勢(shì)圖










      先到這兒 ……..等不忙了再詳細(xì)補(bǔ)充。 







        

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多