近来笔者写了翻牌抽奖游戏
为了测试中奖几率 笔者需要将抽奖接口跑大约2W+的中奖记录
PHP 使用for 循环也可以跑 但是效率却不敢恭维
这个时候就需要我们使用工具来跑接口数据 (需要安装1、Java.jdk 2、jemete)
jemete 简介:
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP
服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
1.下载jdk和jmeter
可以去jdk官网下载:
http://www.Oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
点击
不要下成Linux版本的了哦.
jmeter下载的地址是:
http://jmeter.apache.org/download_jmeter.cgi
Java
jdk 安装
2.安装jdk
可以看到我的安装路径是C:Program FilesJavajdk1.6.0_34,没什么好说的一直next就好了.
然后给jdk设置环境变量,右键我的电脑-属性-高级-环境变量.
在用户变量中设置:
新建变量名"JAVA_HOME",变量值为:安装jdk的目录,我的是C:Program FilesJavajdk1.6.0_34.
】
再新建变量名"CLASSPATH",变量值为:C:Program FilesJavajdk1.6.0_34libdt.jar;C:Program FilesJavajdk1.6.0_34lib ools.jar;C:Program FilesJavajdk1.6.0_34in
笔者jdk只配置到了这里后面也没有配置 仍然可以使用!!!
最后在系统变量"Path"的变量值加上%JAVA_HOME%/bin
Jmeter安装详解
jmeter环境变量
Jmeter安装简单,只需要解压jmeter文件包解压到D盘(任意地方,最好不要带中文路径)位置,然后配置环境变量(注:jdk环境变量也要配置,这里使用的是jmeter2.11):
Jmeter运行
打开jmeter包下的bin目录,然后双击jmeter.bat,打开Jmeter界面,右击-->添加-->Thread-->线程组,选择如下图所示:
线程组属性详解:
线程数:线程数量,也就是Lr的虚拟用户数
Ramp-Up Period:用于告知JMeter 要在多长时间内建立全部的线程。默认值是1。假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。
循环次数 :运行测试的次数。
然后添加Sample(右击线程组-->添加-->Sampler-->HTTP请求),添加查看结果树(右击线程组-->添加-->监听器-->查看结果树),查看结果树的作用是查看运行结果是成功或失败;
HTTP请求的如下设置:
然后点击运行,并在查看结果树上,查看运行结果(包括取样器结果、请求和响应),如图,是取样器结果:
这样,我们就能针对相关的B/S架构的应用做性能测试了,而且Jmeter的功能也很强大,一点也不弱于LR,可以持续关注。
跑库 结果:
大约1000条数据 跑了3分钟 只用了一个线程去跑的 没秒3-4条 (也许笔者接口逻辑渣渣导致插入过程慢 0.0 ........)