zoukankan      html  css  js  c++  java
  • 【JMeter】JMeter在linux下运行

    之前在用JMeter做性能测试时基本都用自己的笔记本电脑。

    考虑到网络传输和占用系统资源情况时进行了以下分析:

    1 在笔记本上,开始-cmd "ping 服务器",得到传输时间。在某linux机器上"ping 服务器"得到传输时间,两个时间相差无几,认为不会影响测试结果

    2 一般我用来测试的linux测试机和笔记本电脑,都是4核 8G。

    可是!今天公司网络很不好!严重影响了我的测试。忍无可忍,干脆在linux上测试算啦。

    只需一行命令:sh jmeter.sh -n -t http.jmx -l result_*.jtl

    步骤:

    一 安装jmeter

    1 把你笔记本的jmeter添加到压缩包 jmeter.zip

    2 上传jmeter.zip到linux服务器:我用rz方式上传到了/opt/soft

    3 解压,进入路径/opt/soft/jmeter/bin

    4 查看jmeter.sh是否能够执行,若不能未其添加执行权限,我直接  chmod 777 jmeter.sh,可用  sh jmeter.sh -v 来检测命令是否可用。

    二 编写测试计划

    1 在GUI模式下,新建一个测试计划,保存并上传到linux机器对应目录,可在测试计划里添加对应的定时器,聚合报告等。

    2 在linux目录下找到你的测试计划,vim打开进行编辑

    <stringProp name="ThreadGroup.num_threads">200</stringProp>   线程数
    <stringProp name="ConstantTimer.delay">100</stringProp> 固定定时器的时间间隔
    添加过的元器件其对应参数都可以在里面找到,进行参数调整时只要在这里编辑就ok了。

    三 结果文件

    结果文件即之前保存过的result.jtl格式文件

    该文件可以使用 GUI 模式下的聚合报告查看,可以打开 JMeter GUI 界面 -> 测试计划 -> 添加线程组 -> 添加聚合报告 -> 点击 "浏览..." 按钮找到你刚生成的 jtl 文件打开即可统计结果进行分析。

    四 这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令:

    • -h 帮助 -> 打印出有用的信息并退出
    • -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
    • -t 测试文件 -> 要运行的 JMeter 测试脚本文件
    • -l 日志文件 -> 记录结果的文件
    • -r 远程执行 -> 启动远程服务
    • -H 代理主机 -> 设置 JMeter 使用的代理主机
    • -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号

            例如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080

    五 问题

    1)Error in NonGUIDriver java.lang.NullPointerException
    产生该错误的原因,目前有两种情况:
    情况1,低版本的JMeter运行高版本的测试计划(测试计划是在高版本的JMeter上编制的)。解决方法:使用相同或更高版本JMeter运行该计划。
    情况2,使用第三方插件生成的测试计划,运行在没有该第三方插件的JMeter上。解决方法:在JMeter上安装插件或重新生成不包含插件的测试计划。
    2)写了一个scf压测jar包,因为网络通信的关系,放到同台服务器上运行。
    运行没多久看到一个进程cpu飙到了600%(8核),load到了50多。服务端已经不怎么能处理了。以为服务不行了
    仔细看了下,cpu 600多的进程是我的jmeter执行命令,因为我没在jmeter端进行限制,所以发请求发疯了。后来加了定时器,限制其每秒发的请求数,服务可正常运行了。
  • 相关阅读:
    【IHttpHandler】在ASP.Net2.0中使用UrlRewritingNet实现链接重写
    【IHttpHandler】IHttpModule实现URL重写
    【IHttpHandler】使用IHttpHandler防盗链
    【IHttpHandler】HttpModule,HttpHandler,HttpHandlerFactory简单使用
    【IHttpHandler】HttpModule的认识
    【IHttpHandler】了解 IHttpHandler
    【MVC】ASP.NET MVC 请求生命周期
    【MVC】ASP.NET MVC HtmlHelper用法大全
    【MVC】ASP.NET MVC中实现多个按钮提交的几种方法
    【MVC】自定义ASP.NET MVC Html辅助方法
  • 原文地址:https://www.cnblogs.com/zhaoxd07/p/5059541.html
Copyright © 2011-2022 走看看