zoukankan      html  css  js  c++  java
  • 再谈Jmeter

    前面有发过一篇Jmeter使用感受的博文,最近再次使用,这里再谈谈。Jmeter除了从官网(http://jmeter.apache.org)获取信息,我还阅读了Jackei的博文,很有帮助,推荐一下

    http://www.cnblogs.com/jackei/category/32808.html

    先列下我使用过的功能:

    1. Thread Group


    2. HTTP Cookie Manager

     

    3. HTTP Header Manager

     

    4. HTTP Request Defaults

     

    5. Random Variable

     

    6. CSV Data Set Config

     

    7. HTTP Request HTTPClient

     

    Retrieve All Embedded Resources from HTML Files 选项选中可以下载Non-Html的内容,具体见http://www.cnblogs.com/jackei/archive/2012/01/05/557160.html


    8. View Results Tree

     

    9. PerfMon Metrics Collector, 可以用来收集CPU/Memory信息,具体见http://code.google.com/p/jmeter-plugins/wiki/PerfMon

     

    10. Generate Summary Results

     

    前面有说到Jmeter的GUI不给力,一般使用Non-GUI的命令行,既然是免费的工具也能接受,不知道2.6新版有没有改善(http://jmeter.apache.org/changes.html

    单独使用命令./jmeter -n -t DE-Test.jmx还是不太给力,可以用shell写个脚本

    #!/bin/bash
    #
    #
     Copyright 2010 xxx Reserved.
    #
     Author: Oscar Xie

    cd /xxx/loadtest/bin
    #JMETER_BIN=http://www.cnblogs.com/jmeter-2.3.4/bin/ApacheJMeter.jar
    JMETER_BIN=../jakarta-jmeter-2.4/bin/ApacheJMeter.jar
    LOADTEST_DIR=../
    JMX_FILE=$LOADTEST_DIR/bin/DE-Test.jmx
    LOADTEST_BIN_DIR=$LOADTEST_DIR/bin
    URL_FILE=$LOADTEST_DIR/bin/url.csv

    RESULT_DIR=/xxx/results
    LOG_DIR=$RESULT_DIR/log
    JTL_DIR=$RESULT_DIR/jtl
    STATS_DIR=$RESULT_DIR/stats
    JPPM_DIR=$RESULT_DIR/perf

    #rm -rf $RESULT_DIR
    mkdir -p $RESULT_DIR
    mkdir $LOG_DIR $JTL_DIR $STATS_DIR $JPPM_DIR

    JVM_ARGS="-Xms3072m -Xmx3072m -Dpropname=propvalue"

    RunJMeter() {
      USER=$1
      LOG_FILE=$LOG_DIR/`hostname`-loadtest.$USER.log
      rm -f $LOG_FILE
      JTL_LOG=$JTL_DIR/`hostname`-loadtest.$USER.jtl
      rm -f $JTL_LOG
      JPPM_FILE=$JPPM_DIR/`hostname`-loadtest.$USER-perf.jtl
      rm -f $JPPM_FILE
      $JMETER_BIN --nongui --testfile $JMX_FILE --logfile $LOG_FILE -Jjppmfile=$JPPM_FILE \
          --jmeterproperty threadCount=$USER \
          --jmeterproperty loadTestLog=$JTL_LOG \
          --jmeterproperty urlFile=$URL_FILE \
          --jmeterproperty loadPerfLog=$JPPM_FILE \
          --jmeterproperty duration=300 \
          --jmeterproperty adclienthost=xxx.machine \
          --jmeterproperty adclientport=80 \
          --jmeterproperty UrlFile=$URL_FILE
    }

    STATS_GENERATOR_JAR=$LOADTEST_BIN_DIR/lib/JMeterLogToStats_deploy.jar
    STATS_HTML_DIR=../

    GenerateJMeterStats() {
      java -jar $STATS_GENERATOR_JAR \
                --loadtest_jtl_dir=$JTL_DIR \
                --loadtest_stats_dir=$STATS_DIR \
                --loadtest_html_dir=$STATS_HTML_DIR \
                --csv_filename_pattern=".*-loadtest.([0-9]+).jtl" \
                --stats_filename_pattern=".*-loadtest.([0-9]+).stats"
    }


    RunJMeter 100
    RunJMeter 400
    RunJMeter 700
    RunJMeter 1000
    RunJMeter 1500
    RunJMeter 2000

    #java -jar $STATS_GENERATOR_JAR --loadtest_jtl_dir=$JTL_DIR --loadtest_stats_dir=$STATS_DIR --loadtest_html_dir=$STATS_HTML_DIR
    GenerateJMeterStats
    cp $LOADTEST_DIR/loadtest.html $RESULT_DIR 


  • 相关阅读:
    [C#]RichTextBox实现拖放
    [C#]WinForm动态删除控件 Controls.Remove()
    [C#]WinForm 中 comboBox控件之数据绑定
    [C#.Net]KeyDown(KeyUp)和KeyPress的区别
    [C#.NET]最简单的实现文本框的水印效果
    [C#.Net]对WinForm应用程序的App.config的使用及加密
    Spring MVC异常处理详解
    MAC与HMAC的介绍及其在AWS和Azure中的应用
    isDebugEnabled有什么用?
    在Mysql中Using filesort代表什么意思?
  • 原文地址:https://www.cnblogs.com/oscarxie/p/2409586.html
Copyright © 2011-2022 走看看