<!-- linux系统修改系统环境变量  系统语言-->
[root@web-249 ~]# env|grep LANG
LANG=zh_CN.UTF-8
[root@web-249 ~]# export LANG=zh_CN.UTF-8
[root@web-249 ~]# export LANG=en_US.UTF-8
[root@web-249 ~]# env|grep LANG
LANG=en_US.UTF-8

<!-- JMETER 不同线程组 变量值 的参数传递-->
线程组 1   
在线程组1中使用__setProperty函数设置jmeter属性值(此值为全局变量值),将所需变量值如${oldtoken}设置为jmeter属性值,即newtoken,示例:

1、添加--后置处理器 -- 正则表达式
2、使用正则表达式获取第一个线程组得到的响应信息 例如:oldtoken
3、添加--后置处理器 -- BeanShell PostProcessor
4、设置    BeanShell PostProcessor
    Parameters: ${oldtoken}    
    Script:
         String oldtoken = bsh.args[0];
         print (oldtoken);
         ${__setProperty(newtoken,${oldtoken},)}

线程组 2
在线程组2中使用_p函数来调用jmeter属性,获取属性值,从而实现跨线程组,参数值传递。
1、直接使用  ${__P(newtoken,)}   即可获取token的值

求并发用户数公式

在实际的性能测试工作中,测试人员一般比较关心的是业务并发用户数,也就是从业务的角度关注应该设置多少个并发数比较合理。

下面找一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员上登录签到系统的时长为5分钟。可以用下面的方法计算。

    C=1000/30*5=166.7

C表示平均并发用户数,那么对这个签到系统每分钟的平均在线用户数为166

当然,在性能测试上,任何公式都不是严谨的,最重要的是对系统做出有效正确的分析。

 --------------------------

     估算并发用户并发数公式:

1、用户从登陆系统到退出系统的间隔时间L
2、登陆系统的用户数量n
3、被考察的时间长度T
并发用户数C=nL/T
举例:
如果系统有3000个注册用户,平均每天400个用户要访问系统,一般一个典型用户在系统中停留4小时(从登陆到退出),在一天内,用户在8小时内使用该系统
并发用户数=400X4/8=200 如果你要计算峰值用户数的话,用另外一个公式
C1=C+3 X sqr(C)
C表示并发用户数
根据我之前算出的结果,并发用户数是200,那么公式为:
C1=200+3 x sqr(200)=242

<!--jmeter  链接数据库测试设置-->
1、测试计划添加驱动
2、添加 测试元件 JDBC Connection Configuration
3、配置连接信息
Datebase URL     :jdbc:mysql://localhost:3306/test
JDBC Driver class:org.gjt.mm.mysql.Driver
Username         :root
Password         :

Datebase                          URL                                                             Driver class    Database                         
    
MySQL                         jdbc:mysql://host:port/{dbname}                                     com.mysql.jdbc.Driver                         
PostgreSQL                     jdbc:postgresql:{dbname}                                             org.postgresql.Driver                         
Oracle                         jdbc:oracle:thin:user/pass@//host:port/service                         oracle.jdbc.driver.OracleDriver                 
Ingres (2006)                 jdbc:ingres://host:port/db[;attr=value]                             ingres.jdbc.IngresDriver                         
MSSQL                         jdbc:sqlserver://IP:1433;databaseName=DBname                         com.microsoft.sqlserver.jdbc.SQLServerDriver    
                                或者                                                                 或者                                             
                             jdbc:jtds:sqlserver://localhost:1433/"+"library"                     net.sourceforge.jtds.jdbc.Driver                       

<!-- jmeter   linux 部署环境  -->

1、上传tgz文件
2、解压文件    tar -zxvf filename

3、解压完成后,添加环境变量:
vi /etc/profile 键入i,可编辑状态,按ESC,退出可编辑状态到命令行,键入“:wq”,按回车保存并退出vi

添加下述两行:
export JMETER=/root/apache-jmeter-3.0
export PATH=$JMETER/bin:$PATH
export CLASSPATH=$JMETER/lib/ext/ApacheJMeter_core.jar:$JMETER/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:$CLASSPATH

完成添加后下述命令使配置生效:
source /etc/profile
检查是否配置成功:命令行输入
jmeter -v  

4、执行JMX文件      jmeter -n -t baidu.jmx -l /root/log.jtl
5、检查执行结果  cat /root/log.jtl     出现200,OK则执行通过
分布式操作
6、bin目录下启动server-jmeter  

    sh jmeter-server      或者    nohup sh jmeter-server &
7、检查启动是否成功

ps -ef|grep jmeter-server
ps aux|grep jmeter-server

<!-- jmeter 分布式性能测试(Agent配置) -->
在1.4G Hz~3GHz 的CPU 、1GB 内存的 JMeter 客户端上,可以处理线程 100~300。
但是Web Service 例外。XML处理是 CPU 运算密集的,会迅速消耗掉所有的CPU 。
一般来说,以XML技术为核心的应用系统,其性能将是普通Web 应用的 10%~25% 。
另外,如果所有负载由一台机器产生,网卡和交换机端口都可能产生瓶颈,所以一个JMeter 客户端线程数不应超过 100 。

采用JMeter 远程模式并不会比独立运行相同数目的非GUI 测试更耗费资源。
但是,如果使用大量的JMeter 远程服务器,可能会导致客户端过载,或者网络连接发生拥塞。

 

使用多台机器产生负载的操作步骤如下:

(1)在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent 。

(2) 运行所有 agent 机器上的jmeter-server 文件(假定使用两台机器192.168.9.99 和192.168.9.130 作为agent)

(3)在controller机器的jmeter的bin目录下,找到jmeter.properties 文件,编辑该文件:

查找:
remote_hosts=127.0.0.1
修改为:
remote_hosts=192.168.9.99:1099,192.168.9.130:1099

这里要特别注意端口后,有些资料说明端口1644为jmeter的controller 和agent 之间进行通信的默认RMI端口号,
但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等。

<!-- jmeter 分布式性能测试(多网卡配置) -->
我们要在多网卡的服务器上开启RMI服务的话必须指定IP,使他们能够在同一个网段内。

需要以下几步(假定所有机器都在10.120.11.*网段,agent服务器为linux,controller服务器为windows):

1、 修改agent服务器,指定agent机器的IP
修改jmeter-server文件
# vi jmeter-server
修改RMI_HOST_DEF=-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx(需要连接的IP)

2、修改server服务器,指定server机器的IP

修改jmeter.bat文件

新增set rmi_host=-Djava.rmi.server.hostname=10.120.11.214

修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%

jmeter 环境部署、数据库设置、分布式设置、多网卡配置等随笔的更多相关文章

  1. 第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置

    第三百九十八节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5系统环境设置 1.Linux安装配置 注意事项: 虚拟机网卡桥接模式 不要拨VPN 如果,网络怎么都 ...

  2. Jmeter环境部署

    一.安装jdk 下载jdk 双击jdk-8u211-windows-x64.exe,默认下一步安装 我的电脑-属性-高级系统设置-环境变量 在“系统变量”出,新建”JAVA_HOME”,配置jdk的安 ...

  3. MXNet 分布式环境部署

    MXNet 分布式环境部署 1. MxNet 分布式介绍 先忽略吧, 回头在填上去 2. 分布式部署方法 假设有两台主机ip地址分别是xxx.xxx.xxx.114 和 xxx.xxx.xxx.111 ...

  4. jmeter安装部署、maven路径配置

    jmeter下载地址: https://jmeter.apache.org/download_jmeter.cgi 解压文件 配置jmeter环境变量 (1)设置jmeter解压目录的JMETER_H ...

  5. Spring Boot微服务电商项目开发实战 --- 多环境部署配置、端口号统一配置及Dubbo提供者消费者实现

    昨天已经搭建好了SpringBoot基于Maven的基础父子级项目,今天开始进入项目分模块及分布式实现.首先我们基于昨天的项目,在父级工程下建lyn-sys,lyn-customer,lyn-good ...

  6. 【Odoo 8开发教程】第二章:Odoo生产环境部署设置

    转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/10792977.html 一:dbfilter 数据库访问规则设置 一个odoo实例可以连接到不同的数据库实例中 ...

  7. 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等

    http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...

  8. ubuntu系统lamp环境搭建、数据库迁移、设置数据库外部访问

    sudo passwd root设置两次密码su输入设置的密码exit (退出root帐号) 1.sudo apt-get update 2.sudo apt-get install apache2 ...

  9. jmeter(1)——环境部署及安装

    公司人事还有老大都找我谈了一下2019的目标和技能成长规划,所以整体想了一下,技能方面,自己今年准备从性能测试开始着手,也去咨询了一下大神,切入点最好是工具.性能测试是一门非常庞大的课程,最初级,最入 ...

随机推荐

  1. Python:generator的send()方法流程分析

    先来一个简单地例子: def foo(): print('starting') while True: r = yield 2 print(r) f = foo() print(f.send(None ...

  2. 关于阿里图标库Iconfont生成图标的三种使用方式(fontclass/unicode/symbol)

    1.附阿里图标库链接:http://www.iconfont.cn/ 2.登录阿里图标库以后,搜索我们需要的图标,将其加入购物车,如图3.将我们需要的图标全部挑选完毕以后,点击购物车图标4.这时候右侧 ...

  3. Vxlan与网卡offload性能

    背景 由于数据链路层MTU的限制,发送端TCP/UDP数据在交付到IP层时需要与MTU相匹配,TCP数据不能超过mss,较长的UDP需要分片(Fragmentation)以满足MTU要求:接收端协议栈 ...

  4. Json对象和Json字符串之间的转换

    json字符串转json对象,调用parse方法: var b='{"name":"2323","sex":"afasdf&quo ...

  5. 【NIO】Java NIO之选择器

    一.前言 前面已经学习了缓冲和通道,接着学习选择器. 二.选择器 2.1 选择器基础 选择器管理一个被注册的通道集合的信息和它们的就绪状态,通道和选择器一起被注册,并且选择器可更新通道的就绪状态,也可 ...

  6. jquery分页插件的修改

    前言 最近分页功能使用的比较多,所以从网上下载个jquery分页插件来使用, 之前用的都挺好的,直到昨天出现了逻辑问题,反复查看自己的代码,最后发现是点击页码后执行了多个点击事件.最后只有自己查看源码 ...

  7. .NET枚举类型转为List类型

    如图所示这个竞卖状态,原先是在前端界面通过html代码写死的几个状态,现在需要改为动态加载.这个几个状态是定义的枚举类型. 1:定义一个枚举类型 /// <summary>    /// ...

  8. python——模块

    一.导入模块 Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入.导入模块有一下几种方法: 1 import module 2 fr ...

  9. Javascript中变量作用域(2)

    多层函数调用取变量时,无论在哪里调用,要到创建此函数的作用域中取值,如果找不到再往上一级,直到全局变量. 外面定义了很多的全局的变量,下面我们来一个个理一下. 定义三个变量a,b,c;将A1函数赋值给 ...

  10. Redis 基本安全规范文档

    温馨提示:我在一家手游的公司工作,因为经常用到redis,特为此整理文档(借鉴过大神的文章): 一.什么是redis(出自百度百科)? redis是一个key-value存储系统.和Memcached ...