当Web应用的系统性能成为用户访问瓶颈的时候,作为系统的构建者,Code Monkey自然无法置身事外。专业的性能测试,自然需要有专门的测试部门来负责主导,然而作为程序猿,关注性能、了解一点和系统性能相关的知识,无论是对工作、还是从完善自身知识体系的角度来考虑都大有裨益。在这篇博客中,使用的工具包括JMeter、Tomcat和Visual VM,重点在于JMeter的入门使用。
【使用工具】
JMeter:用于对Web应用进行性能测试,是Apache组织的顶级项目之一。作为一个顶级项目,都意味着会有一个专门的项目管理委员会,JMeter官网如是说。JMeter最初是被设计用来对JServ服务器进行性能测试的,而JServ即是Apache Tomcat的前身,因此使用JMeter测试基于Tomcat的Web应用优势非常明显。
Tomcat:最流行的Java Web容器,由Sun公司最初开发、然后成为开源项目,并捐赠给Apache组织。从在校学生编写的Java EE版本的Hello World程序,到一线互联网公司的大型Web站点,都可以看到它的身影。
Visual VM:JDK自带的一个可视化的JVM监控程序,可以从CPU、内存、类加载、线程数目等多个维度对JVM进行监控,可以安装Visual GC插件、对垃圾回收GC进行详细的追踪。
【安装与配置】
1. 下载安装:
访问JMeter官网首页http://jmeter.apache.org,点击左侧导航Download Releases,进入JMeter下载页面
http://jmeter.apache.org/download_jmeter.cgi,下载apache-jmeter-2.12.zip压缩包,解压到磁盘任意
目录,如E:\study。
2. 环境变量:
为了从命令行直接启动JMeter,而不是每次都进入到JMeter的安装目录启动,需要进行环境变量的设置。
添加变量JMETER_HOME,值为JMeter的安装目录:E:\study\apache-jmeter-2.12。然后将JMeter的\bin目录
添加到Path变量的最前面,内容为:%JMETER_HOME%\bin;
参照JDK的环境变量配置方式即可,因此没有理解难度。
3. 堆内存设置:
进入JMeter的\bin目录,打开JMeter的启动脚本jmeter.bat,找到如下行内容:
set HEAP=-Xms512m -Xmx512m
将该行修改为如下内容即可:
set HEAP=-Xms1024m -Xmx1024m
说明:其实堆内存设为512m完全可以满足JMeter的基本使用。需要说明的是启动JMeter作为一个JVM实例,和Tomcat一样,都拥有自己运行时的数据区域。这里只是展示一种思路,一旦出现各种关于JVM的疑难杂症,知道为什么、如何去处理即可。
4. 界面语言:
JMeter启动时自动判断当前系统平台的Locale、使用合适的语言显示操作界面,但是本地化做的不彻底、展示的是中英文夹杂的界面,让人失望。因此直接修改配置,展现英文界面。进入JMeter的\bin目录,打开jmeter.properties,将注释掉的如下行去掉注释即可。
language=en
5. 启动JMeter:在命令行下键入jmeter或者jmeter.bat
6. 界面风格:
选择菜单“Options -> Look and Feel -> Nimbus”,使用一种比较有灵气(nimbus)的操作界面。
【简单使用】
1. 创建测试计划(Test Plan):启动JMeter之后、重命名Test Plan为build-web-test-plan
2. 添加线程组(Thread Group):右键选择菜单“Add -> Threads(Users) -> Thread Group”,将该节点重命名为Jmeter Users,同时设置线程属性:如下三个属性分别设为500,1,10
Number of Threads(users):线程数目,使用线程模拟的用户的数目。
Ramp-Up Period:上升周期,在多长的时间内创建所有的线程数目。
Loop Count:循环次数,如果需要一直重复发送请求、勾选复选框Forever。
3. 添加取样器(Sampler):右键选择菜单“Add -> Sampler -> HTTP Request”,创建HTTP请求,并且将其重命名为Home Page,同时设置如下参数
Server Name or IP:设为localhost。
Port Number:设为80。
4. 设置监听器(Listener):右键菜单“Add -> Listener -> Graph Results”创建图形化的结果输出,同时可以添加View Results in Table、Summary Report监听器。
5. 保存测试计划:选择菜单“File -> Save Test Plan as”,命名为build-web-test-plan.jmx
6. 启动Tomcat:端口号设为80,同时添加线程池配置,参考:Tomcat学习笔记 - 【性能优化与监控】
7. 启动Visual VM:在命令行下键入命令jvisualvm.exe
8. 执行测试计划:点击工具栏“Start”按钮,切换到Graph Results节点,看到如下信息
在发送大量并发请求前后,CPU、堆内存,线程数目的变化情况,可以看到在处理完大量并发请求前后,线程的数目发生的显著的变化。
相关推荐
讲解开源负载工具JMeter的体系结构、脚本开发、负载模拟、测试监听等内容,让读者可以从零开始学会使用一个主流的负载工具,此部分是市面上到目前为止对JMeter讲解较全面的内容,掌握其内容即可以进行性能测试脚本...
性能测试工具JMeter书籍(6本)目录知识点(思维导图加图)整理.rar 根据如下6本性能测试、JMeter书籍收集整理重点知识点: 2012年《零成本实现Web性能测试:基于Apache JMeter》 2016年《大型IT系统性能测试入门...
全栈性能测试修炼宝典JMeter实战+零成本实现WEB性能测试 基于APACHE JMETER
全栈性能测试修炼宝典 JMeter实战(带书签),第一章 性能方向职业发展 第二章 性能测试的初体验 第三章 JMeter体系结构 第四章 脚本开发 第五章 JMeter负载与监控 第六章 JMeter元件详解 第七章 JMeter常用脚本开发 ...
本书首先介绍基础的性能测试理论,接着详细介绍如何使用jmeter完成各种类型的性能测试。实战章节中作者以测试某大型保险公司电话销售系统为例,手把手教会读者如何用jmeter来完成一个实际的性能测试任务。 本书...
这本书对于学Jmeter真的是非常有用,在网上找了好久算是清晰的扫描版
jmeter4.0进行微信小程序测试(jmeter性能测试教程) jmeter4.0进行微信小程序测试详细步骤指导书jmeter4.0进行微信小程序测试详细步骤指导书jmeter4.0进行微信小程序测试详细步骤指导书
用JMeter来测试Tomcat的性能.docx
《零成本实现Web性能测试:基于Apache JMeter》首先介绍基础的性能测试理论,接着详细介绍如何使用JMeter完成各种类型的性能测试。实战章节中作者以测试某大型保险公司电话销售系统为例,手把手教会读者如何用JMeter...
JMeter是一款开源的性能测试工具,用于模拟多种负载条件下的应用程序行为。它适用于开发人员、测试人员和系统管理员。通过创建并执行各种测试计划,JMeter可以评估应用程序的性能、稳定性和可靠性。 JMeter支持多种...
适合小白的jmeter入门
性能自动化测试(基于jmeter+jenkins+ant+tomcat),亲测可以顺利完成
Apache JMeter是Apache组织开发的基于Java的压力测试工具。...JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能、多应用于c/s架构的测试........
Jmeter性能测试报告模板
本书首先介绍基础的性能测试理论,接着详细介绍如何使用JMeter完成各种类型的性能测试。实战章节中作者以测试某大型保险公司电话销售系统为例,手把手教会读者如何用JMeter来完成一个实际的性能测试任务。 本书...
详细介绍了性能测试工具Jmeter的使用,本课程来自-我要自学网-板书,pdf一共为52页
零成本实现WEB性能测试 基于APACHE JMETER。pdf。。。。。。。。。。
零成本实现WEB性能测试 基于APACHE JMETER,使用jmeter进行web性能测试
性能测试工具jmeter使用和介绍,描述使用过程,介绍优缺点
Web JMeter