标签归档:jmeter

Jmeter四—13.Building a Monitor Test Plan

建立一个监控的测试计划

在本章节,你将会学习如何建立一个监控web服务器的测试计划。监控器对压力测试和管理服务器很有帮助。随着压力测试,监控器提供额外的服务端执行信息。它也使服务端执行和客户端响应时间之间的关系更明了。作为一个系统管理工具,监控器通过一个控制窗口提供了监控多台服务器的简便方法。监控器被设计与tomcat5 servlet status一起工作。理论上,任何一个servlet容器只要支持JVM(Java Management Extension)都能移植status servlet来提供相同的信息。

对于这些想要在其他服务器或者EJB容器中使用监控器的,Tomcat的status servlet需要和其他容器无修饰的一起使用内存。为了获得线程信息,你需要改变MBeanServer寻找恢复正确的MBeans。

13.1 Adding A Server

第一步是增加一个线程组元件,线程组告诉Jmeter你想要多少进程。当我们用到Jmeter监控功能时,进程一般为1.这对于那些不熟悉的服务器监控很重要。一般来说,对单一的服务器用多个进程是很糟糕的,值得注意的是会产生压力。

增加进程组元件

改变循环次数为永远(或者一个比较大的数字)便于有足够的样本形成。

13.2 HTTP Auth Manager

给线程组元件增加HTTP Authentication Manager。(添加à配置元件àHTTP Authorization Manager)

输入web服务器的用户名和密码

1. 基础URL留空

2. 输入用户名

3. 输入密码

特别提示:监控器只能和Tomcat 5.0.1.9及其以后的版本一起工作。

底下是如果搭建Tomcat的一个简单文档,如果要获得更多搭建Tomcat信息,参考Tomcat的文档。

Tomcat 搭建

一.搜索一下可用软件包:apt-cache search tomcat

apt-get install tomcat7

这是linux下的安装,这次主要还是用一下 win下的来实验好了。

1. 下载 jdk,安装好jdk。

2. 下载tomcat,有安装的和解压的两种。

3. 以解压的为例,配置tomcat的环境变量。

a.新建JAVA_HOME

b.新建CLASSPATH

c.编辑path环境变量,添加%JAVA_HOME%libbin;

d.启动tomcat。在命令启动脚本的一个好处是,报错信息可以直接在控制台显示出来。

4.进入tomcat的管理界面

4.进入tomcat的管理界面
a.配置用户名密码

b.进入tomcat管理界面

13.3 Adding HTTP Request

对线程组增加一个HTTP Request。(添加àSampleràHTTP Request)然后在左边的面板选中HTTP Request元件,更改以下的属性:

1. 将名称改为”Server Status”

2. 输入IP地址或者 主机名

3. 输入端口号

4. 如果你用的是Tomcat服务器,就将路径名设置为”/manager/status”

5. 添加参数名称为XML,值为true。

6. 在窗口底部勾选上”用作监视器”。

13.4 Adding Constant Timer

给线程组增加一个定时器(添加à定时器à固定定时器)。在”线程延迟”输入5000毫秒。通常,间隔时间设置为5s以内会增加服务器的压力。在你开始使用你的测试环境之前,有必要探询一个合适的间隔时间。

13.5 Adding a Listener to Store the Result

如果你想保存服务器的结果,增加一个简单的监听器。如果你想保存结果计算,在监听器输入一个文件名。如果你想同时保存原始数据和统计数据,确保你输入不同的文件名称。

选择线程组元件增加一个Simple Data Writer监听器(添加à监听器àSimple Data Writer)。下一步,你需要确保输出结果的路径和文件存在。你可以在文件名输入框输入路径和文件名也可以选择浏览按钮选择目录和文件名。

13.6Adding Monitor Result

选择测试计划增加一个监听器(添加à监听器à监听器结果)

默认,监听器将选择从采样器返回的第一个连接器结果。连接器前缀的输入框可以被用来选择不同的连接器。如果指定,监控器将选择第一个前缀匹配的连接器。如果找不到匹配的,那么第一个连接器将被选择。

监听器监听的结果有两个标签选项。第一个是”Health”,展示最后一个采样器监听收到的状态。第二个标签是”Performance”,以视图展示系统性能的历史信息。

一个简短的说明关于如何计算health。通常,一个服务器内存溢出会崩溃,或者到达一个很大的进程链接数。举个例子Tomcat5,一次连接的进程超出最大范围,请求将被放置等待序列,直到进程可被执行。

Jmeter入门二—–jmeter简介及一个web登录的例子

Jmeter包含四个部分:

(1) 负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。

(2) 用户运行器:通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为。

(3) 资源生成器:用于生成测试过程中服务器,负载机的资源数据。

(4) 报表生成器:根据测试中获得的数生成报表,提供可视化的数据显示方式。

测试计划元件:

Test Plan(测试计划):用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就是说本次的性能测试是基于一个计划的。

Threads Users线程用户:这个就是我们通常添加运行的线程。通俗的讲一个线程组,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中不会发生改变的。

测试片段(Test Fragment):测试片段元件是控制器上的一个特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不会被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。

控制器:Jmeter有两种类型的控制器:取样器(sample)和逻辑控制器(Logic Controller),用这些原件来驱动一个测试。

Building a web Test Plan

100用户*2request*1次=200个http请求

要建立这个测试计划,你需要用到下面的元素:

Thread Group(线程组)

Http Request(http请求)

Http Request Defaults(http默认请求)

Graph Results(曲线图结果)

一:Adding Users

第一步添加线程组,这也是Jmeter每一个测试必须的,线程组告诉Jmeter你想模拟多少用户,发送请求的频率和他们应该发送多少请求。

下一步,你需要修改默认值:

1. 给线程组提供一个描述性的名称。例如:jmeter users

2. 增加用户的数量。(称为线程数)。输入100

3. 下一个输入框,Ramp-Up period(增强,爬坡期),默认值为1s,改为10s。Jmeter将在10s内启动你所有的用户进程。所以如果我们有100个用户,且设置Ramp-up时间为10s,那么启动每个用户的延长时间为(100users/10s=10users per second)0.1s。如果你设置爬坡时间为0,那么Jmeter会立刻启动你所有的用户进程。

4. 最后,保持循环次数为默认值1.这项告诉Jmeter重复你的测试多少次。如果你输入1,将执行一次测试,想让Jmeter不停地执行测试,勾上永远选项。

第二步:Adding Default HTTP Request Properties

现在我们来定义我们的用户,是时候来定义他们将要执行的任务了。本小节,将会详细的说明HTTP Requests的默认设置。下一节,你将会增加Http Request元素,会用到你在此处定义的默认配置。

添加一个HTTP请求默认值

二:Adding cookie support

几乎所有的web测试都需要用到cookie的支持,除非你的程序明确的没有用到cookies。增加cookies的支持,仅需要在你的测试计划的每个进程组增加一个HTTP cookie Manager。

选择Thread Group-àconfig ElementàHttp Cookie Manage

三.Adding HTTP Request

在测试计划里,我们需要建立两个HTTP Requests。

HTTP请求1 http://gps123.sinaapp.com/wp-login.php

在添加一个HTTP 请求2 ,包含登录post的所有参数。

之所以会提交两个HTTP请求,是为了在HTTP请求1的时候获取cookie的这个参数:wordpress_test_cookie=WP+Cookie+check存放到HTTP Cookie管理器里面。(你只需要添加HTTP Cookie管理器,J
meter会自动添加,无须手动添加。)

四.Adding a Listener to view store the Test Results

最后,你需要给测试计划增加一个监听,这个元件是把你的HTTP Request结果保存成一个文件或者以图表的形式展示。

可以通过响应的数据,判断请求(登录)是否成功。

还可以添加其他的监听器,根据实际情况来添加。

Jmeter简介–安装

Jemter一个纯java的web性能测试工具,当然现在也支持其他的性能测试(ftp,smtp)等。

开源工具,官网http://jmeter.apache.org/

1. 下载jemter

http://jmeter.apache.org/download_jmeter.cgi

支持的协议有:

  • Web – HTTP, HTTPS
  • SOAP
  • FTP
  • Database via JDBC
  • LDAP
  • Message-oriented middleware (MOM) via JMS
  • Mail – SMTP(S), POP3(S) and IMAP(S)
  • MongoDB (NoSQL)
  • Native commands or shell scripts
  • TCP

下载,放到bin目录,运行jmeter.bat。

报错如下:依稀看出是jmeter路径的问题。

我的电脑,加入环境变量,运行成功。不过后来删除了环境变量,运行仍然成功了。莫名的好了。

可能原因是:1.首次运行的时候需要ApacheJMeter.jar文件

2.环境变量开始的时候也是需要的