使用Jmeter进行Web站点性能测试实例

系统:自己开发的接口管理系统

系统代码:https://github.com/yangjing1989/API

两个关键点:模拟大量并发用户&监控系统负载参数分析系统瓶颈

使用工具:top(h帮助)、sysstat(需要在服务器上安装),uwsgitop,jmeter

*测试环境为了便于测试,修改sysstat获取系统信息的时间间隔为1分钟(默认为10分钟)

vi /etc/cron.d/sysstat

一、录制和回放

1、添加http请求默认值

2、添加录制控制器

3、工作台添加HTTP代理

4、点击【启动】开始录制

5、浏览器设置代理

6、访问被测应用,点击【停止】结束录制

7、删除多余请求

8、在登录请求后添加cookie,cookie值设置参考浏览器中cookie值

9、回放查看结果

二、脚本参数化

1、添加CSV Data Set Config

2、配置参数化数据,并设置参数名称

3、在各请求中应用参数值,如

三、判断页面是否正确

1、添加响应断言

四、模拟多用户并发

1、线程组中设置多用户

2、top查看应用服务器性能,发现CPU、内存等各指标都处于正常范围内。且jmeter中没有输出错误。

3、加大并发用户至200,查看服务器性能,CPU长期高于90%,jmeter中各请求的平均响应时间已经超过5秒,说明系统已经到了极限了。

4、加大并发用户至205,jmeter已经开始出现大量错误。

5、整个过程中发现uwsgi占用大量CPU,uwsgi是我应用使用的web服务器。说明应用程序本身消耗CPU很大,其中jmeter中可看到登录接口响应时间比其他接口都长,每秒从服务器接收的数据量也是其他接口的5倍以上。说明登录接口有待优化。

时间: 2024-10-12 13:12:45

使用Jmeter进行Web站点性能测试实例的相关文章

JMeter在Web Services性能测试中的应用

性能测试是任何分布式或Web应用程序测试计划的重要组成部分.在计划和开发周期中进行性能评价,可以保证交付给客户的应用程序满足客户对于高负 载.可用性和可伸缩性的要求.提前确定软件的负载限制可以为适当地进行系统配置提供帮助,从而避免出现意料之外的故障.系统性能分析中要处理的几个问题 是:系统或服务器能否处理数百个或数千个客户端的同时请求,以及系统可以处理请求的频率.这种类型的测试不但提供了系统响应时间的绝对度量值,而且针对服 务器的回归测试和应用程序代码,检查服务器的响应是否和预期结果相匹配,并为

【转】Apache JMeter web性能测试实例

Apache JMeter是可以对利用HTTP或FTP服务器的应用程序进行测试的工具.它是基于Java的,通过所提供的API它还具有高度可扩展性.典型的JMeter测试包括创建循环和线程组.循环使用预设的延迟来模拟对服务器的连续请求.线程组是为模拟并发负载而设计的.JMeter提供了用户界面.它还公开了API,用户可以从Java应用程序来运行基于JMeter的测试.为了在JMeter中创建负载测试,需要构建测试计划.在实际操作中,Jmeter需要执行一系列的操作.最简单的测试计划通常包括下列元件

Web Service 性能测试:soapUI还是Jmeter?

经常有人问我web service的性能测试是用JMeter好还是SoapUI好.说句实话这两款都是非常优秀的开源Web Service性能测试工具,简单地说哪个更好真不太容易.影响Web Service性能测试的因素太多到底谁的结果更准确一些很多时候并不主要取决于测试工具.在soapUI官方网站上有一个文章比较了这两款工具,我将要 点抽出来加以分析希望能反映它们的特点. JMeter在整个负载测试的优越性是毋庸置疑的,它覆盖了常见的各种测试类型,如HTTP, JDBC, JMS 和SOAP.单

Web Service 性能测试工具比较

背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力(请求数/秒).以微信服务器为例,每个用户用独立的登录token,做各种操作,比如刷消息.发消息.看朋友圈等. 希望该性能测试工具符合如下要求: 1. 测试脚本能力,最好是Python/Ruby等最常用的2. 每个并发实例能使用不同参数3. CLI启动测试,这对自动化测试很重要4. Session支持,也就是第一个请求的响应,能用于后续请求的参数.6. 单个结点的并发数量高.

性能测试工具 Web Service 性能测试工具比较

[转自]https://testerhome.com/topics/3003 背景 希望选择一款Web Service性能测试工具,能真实模拟大量用户访问网站时的请求,从而获取服务器当前的请求处理能力(请求数/秒).以微信服务器为例,每个用户用独立的登录token,做各种操作,比如刷消息.发消息.看朋友圈等. 希望该性能测试工具符合如下要求: 测试脚本能力,最好是Python/Ruby等最常用的 每个并发实例能使用不同参数 CLI启动测试,这对自动化测试很重要 Session支持,也就是第一个请

jmeter简单的接口性能测试

原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一. 本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本.最终执行性能测试并分析性能测试结果. 运行环境为Windows 10系统,JDK版

zabbix web scenario 监控Web站点的可用性

Zabbix也可以监控Web站点的可用性.前提是安装Zabbix时启用了libcurl支持. 要使用Web监控,首先需要定义Web Scenario.而每个Web Scenario有一个或者多个 "Http 请求"或者 "Steps"构成.Zabbix根据定义的顺序定期的执行步骤. 在一个Web Scenario中,搜集到的信息包含一下几种: 1. 整个web场景所有步骤的平均下载速度(每秒) 2. 执行出错的步骤(steps)编号 3. 最近的错误信息 而在每一个

JMeter远程分布式联机性能测试

测试环境 apache-jmeter-2.13 Java JDK版本:1.8 1.  JMeter分布式测试简介 当一个JMeter客户端因网络限制等因素,无法模拟足够的用户对服务器施压时,需要用到JMeter分布式测试:用一台控制机,控制多台远程负载机,同时对服务器施压. 2.  配置与实操 步骤1 选定客户端 选择一台本地机器,当作JMeter客户端(控制器),用于控制远程JMeter实例(也叫JMeter 引擎),即远程负载生成机,并收集来自从这些远程负载机的数据. 在本机上创建并调试脚本

用ASP编程控制在IIS建立Web站点

''******************************************************* '' 创建一个WebServer '' 必须参数:WRoot,为创建站点的物理目录:WComment为站点说明:WPort为站点端口:ServerRun为是否自动运行 '' 当创建成功时返回1,失败时提示退出并返回0,当创建站点成功但启动失败时返回2 ''******************************************************* ''******