JMeter如何控制业务比例进行性能测试

一、背景介绍 一直困惑网上的关于JMeter控制业务比例的思想,链接为https://www.jianshu.com/p/db092cbcceb1,今天琢磨到凌晨两点,终于解惑。 假设要测试一个电商网站的性能, 在实际的场景中,有四个业务分别是查看积分明细、查看首页广告、浏览商品详情、浏览商品评价,业务使用比例为1:3:5:6,如何使用JMeter来模拟实现? 二、实现过程 当然新建四个线程组,分别对应四个业务,按照既定比例设定线程数的方式不可行,因为业务的响应时间不可能一致。 我们用另外一种方式来实现。 既定的比例加起来和为15,我们可以把JMeter的运行次数与15取余,前15次取余值的范围落在下面四个范围(这里要用到JMeter的元件IF控制器): {1} {2 3 4} {5 6 7 8 9} {10 11 12 13 14 15}    16 17 18 19 …… 假设四个业务分别对应的业务代码是D、C、B、A,则对应业务的控制逻辑如下, A  ${__counter(true,)}%15<1 B  ${__counter(true,)}%15<=4 && ${__counter(true,)}%15>1 C  ${__counter(true,)}%15>4 && ${__counter(true,)}%15<=9 D  ${__counter(true,)}%15>9 && ${__counter(true,)}%15<==0 大于15的运行次数也可以以这种方式类推,进行比例划分。 1  查看积分明细的业务比例在JMeter中设置为${__counter(true,)}%15<1,如下图, 2  查看首页广告的业务比例设置为${__counter(true,)}%15<=4 && ${__counter(true,)}%15>1,如下图, 3  浏览商品详情的业务比例设置为${__counter(true,)}%15>4 && ${__counter(true,)}%15<=9,如下图, 4 …

Continue Reading

多台VPS进行JMeter分布式压力测试

最近想研究下Jmeter的分布式测试,于是在Linode云主机上折腾了下,此厂商的主机可以自选硬件配置,收费按照小时计算,所以操作的时候可要手快啊。   一、环境信息 1  被测服务器 日本VPS主机 1152GB硬盘 16核心CPU 内存65536MB IP地址:peloo.net 2  jmeter主控制机 美国VPS主机 内存2048MB 单核心CPU 30GB硬盘 IP地址:173.255.243.59 3  jmeter从机 配置同主控制机,位置同在美国,属于同一个机房 IP地址:173.255.220.37  173.255.223.112     二、环境配置 1  被测服务器 被测服务器上搭建了WordPress网站,架构为Nginx+PHP+MySQL 2  jmeter主控制机配置 (1)  下载官网jmeter tgz文件到tmp目录并解压 wget -c -P /tmp http://mirrors.cnnic.cn/apache//jmeter/binaries/apache-jmeter-3.1.tgz cd /tmp tar zxvf apache-jmeter-3.1.tgz (2)  复制解压目录到/usr/local cp -rv /tmp/apache-jmeter-3.1 /usr/local ln -sv /usr/local/apache-jmeter-3.1 /usr/local/jmeter (3)  添加jmeter环境变量  …

Continue Reading