Jmeter对HTTP请求压力测试、并发测试

最近公司需要开发一个简单的报名系统,供外网用户提供报名服务,由于我们公司是个初创的微型公司,开发人员都是刚毕业不久,开发经验相当缺乏。

对于服务器性能测试这块的经验更是少得可以忽略。迫使不得不让我们去尝试了解测试的知识。

首先我们的需求场景如下:

服务器硬件:(只有一台)

系统:Windows 2003

WebServer:Tomcat 7.0

Jdk:7.0

CPU:8核 2.9GHz两个

内存:16G

报名应用系统:只需要向外提供一个报名和找回报名号的接口。

我们需要:测试服务器能同时承受多少条HTTP请求。

通过各种百度后发现LoadRunner是好,但是使用起来短时间内比较难上手,然后就找到了Jmeter。

一、运行Jmeter:

首先在网上下载一个jmeter,我下载的是2.3.4版本,其他版本同理

通过解压后得到一个tgz格式的文件,然后再继续解压得到一个文件夹如下图:

打开文件夹运行bin目录下的 jmeter.bat即可进入jmeter的主界面,如图:

假如运行 jmeter.bat报错不能正常打开,那就要检查本机是否有安装JDK,如果能保证安装好JDK和配置好环境变量后,可以尝试直接运行

bin目录下的ApacheJMeter.jar,我是打不开jmeter.bat的提示我创建不了JAVA虚拟机,但是运行ApacheJMeter.jar却能正常进入主界面,不

能正常运行的可以尝试一下这种办法。

二、创建一个线程组

三、设置线程组参数

四、创建HTTP请求

五、配置HTTP请求

六、添加运行结果分析监听器

七、聚合报告

八、图形结果

九、总结

我们按照如上步骤设置好参数后,对应用进行了并发测试(测试时保持了测试机器和服务器同一个内网网段),第一次模拟100个用户并发请求(请求需要通过查询

具有1000条数据的数据表)持续执行10分钟,偏移保持在100以下,第二次模拟200个用户,偏移还是保持在100以下,第三次模拟350个用户时,偏移则保持在100左右。

而且服务器CPU状态良好,使用率一直保持在20%左右,最高不超过25%。为什么服务器CPU的使用率没有达到很高的情况下,而偏移会越来越高呢,我猜测可能跟Tomcat

没进行优化有关。最后我们认为该应用的并发量大概是在350-400之间。

原文地址:https://www.cnblogs.com/loved-wangwei/p/8992879.html

时间: 2024-10-02 03:16:59

Jmeter对HTTP请求压力测试、并发测试的相关文章

初学者Jmeter对HTTP请求压力测试、并发测试的简单使用

测试目的:测试服务器能同时承受多少条HTTP请求. 通过利用操作系那个对简单的Jmaeter来对服务器进行简单的压力.并发测试 一.运行Jmeter: 首先在网上下载一个jmeter,我下载的是2.3.4版本,其他版本同理 通过解压后得到一个tgz格式的文件,然后再继续解压得到一个文件夹如下图: 打开文件夹运行bin目录下的 jmeter.bat即可进入jmeter的主界面,如图: 假如运行 jmeter.bat报错不能正常打开,那就要检查本机是否有安装JDK,如果能保证安装好JDK和配置好环境

并发测试概念普及

并发测试分为两种情况: 1.点层面的并发,例如,在中午12点这个时间点,大家同时订午饭 2.线层面的并发,例如,在中午12点到13点这个时间段内,大家可能干不同的事情,但同时都对服务器产生压力. 并发测试不等于性能测试 并发测试不仅存在于性能测试中,希望测试时在考虑是否要做并发测试时,不单单局限于考虑性能需求的角度. 并发测试的分类 并发测试不仅仅是性能测试,它存在于各个测试阶段中,并且测试目的各不相同. (1)对于功能并发测试,要先考虑测试单业务功能场景的并发测试,再进行混合业务功能场景的并发

Jmeter之仿真高并发测试(集合点)

场景: 大家在使用Jmeter测试的时候应该发现了, (1)线程启动了就会直接发送测试请求:--如果要模拟在一瞬间高并发量测试的时候,需要调高线程数量,这很耗测试机器的性能,往往无法支持较大的并发数,无法控制每次测试的瞬间并发量: (2)如果使用了constant throughput timer,可以模拟较长时间的并发测试,但是仍无法满足稳定的瞬间高并发测试: 解决: 1.使用集合点: 作用:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力. 引用虫师的话"红军排长说:等

Jmeter + Badboy进行脚本录制 对 Webtours进行多用户并发测试

我们这里使用Loadrunner自在的Webtours订票系统,进行脚本录制. 第一步:录制脚本 1.打开Badboy,输入Webtours地址,然后访问,使用默认的用户名和密码完成一次购票流程!(这里我是把Webtours安装在了我的Windows本机上面的,所以显示启动了Webtous的服务!) 启动Webtours服务: 打开Badboy,输入地址,访问:(启动Badboy以后,会看到左上角默认recording状态,是默认开启脚本录制的,所以直接访问就好.左侧Script一栏就是我们要录

Apache JMeter开源压力测试/负载测试工具 2.12 官方最新版

软件介绍 Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用. 如何学好Jmeter: 如果你用Jmeter去对Web进行功能测试,或者性能测试. 你必须熟练HTTP协议,才能学好Jmeter. 否则你很难理解Jmeter中得概念. Jmeter运行: 解压后, 运行  “bin/jmeter.bat” Jmeter 是支持中文的, 启动Jmeter 后, 点击 Opti

学习总结——JMeter做http接口压力测试

JMeter做http接口压力测试 测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做压力测试的时候就是混合场景,需要多个接口共同作用. 压测时间设定 通常时间设为10 – 15 分钟,如果涉及疲劳测试的话时间可根据实际情况设定,1周,一个月不等. 测试数据准备 如果需要测试的数据量很大的话,需要造数据,造数据可以JMeter操作数据库来完成,也可以用Python造数据. 结果查看

Apache ab 压力并发测试工具

当你使用PHP(或其他编程语言)完成一个web程序的开发,并且web程序在Apache服务器上正常运行的时候,你有没有考虑过对你的Apache服务器及部署在其上的web程序进行一些压力测试呢?毕竟,真金不怕火炼,只要配置优化合理.程序代码运行性能良好.硬件撑得住,通过压力测试我们就能看到一个喜人的成绩.话又说回来,即使测试结果差强人意或者糟糕透了,我们也可以好好反思并找到「问题出在哪里」.说了这么多废话,其实就是想告诉你一句:对服务器以及网站程序进行压力测试还是很有必要的. 要对Apache及其

转:使用 JMeter 完成常用的压力测试

使用 JMeter 完成常用的压力测试 就目前 Java EE 的平台下开发的软件来说,这种节点通常可能是:Web 服务器.数据库服务器和 JMS 服务器.它们都是请求主要发生的地点,请求频率较其它的节点要高,而且处于请求序列的关键路径之上.如果它们效率无法提高的话,对于整个软件的效率有致命的影响.而且在这些节点上一般都会发生较大规模的数据交换,有时其中还包含有业务逻辑处理,它们正是在进行压力测试时首先需要考虑的. 文中有例子 http://www.ibm.com/developerworks/

【转】使用JMeter 完成常用的压力测试(二)

使用JMeter 完成常用的压力测试 Login.jsp 和welcome.jsp.其中 login.jsp 负责生成 User 对象,并调用 User 的login.当 login 返回为 true 时转向到 welcome.jsp.其验证部分的代码: <%   if( request.getParameter("Submit") != null) {  User ur= new User( request.getParameter("user"), req