当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 是 Apache 组织的开放源代码项目,是功能和性能测试的工具,100% 使用 Java 实现,最新的版本是 1.9.1。 JMeter 的作用领域非常广泛,可以用于测试静态或者动态资源的性能,如文件、Servlets、Perl 脚本、...
讲解开源负载工具JMeter的体系结构、脚本开发、负载模拟、测试监听等内容,让读者可以从零开始学会使用一个主流的负载工具,此部分是市面上到目前为止对JMeter讲解较全面的内容,掌握其内容即可以进行性能测试脚本...
性能测试工具JMeter书籍(6本)目录知识点(思维导图加图)整理.rar 根据如下6本性能测试、JMeter书籍收集整理重点知识点: 2012年《零成本实现Web性能测试:基于Apache JMeter》 2016年《大型IT系统性能测试入门...
JMeter 是 Apache 组织的开放源代码项目,它是功能和性能测试的工具,100% 用 Java 实现,最新的版本是 1.9.1。JMeter 可以用于测试静态或者动态资源的性能(文件、Servlets、Perl 脚本、Java 对象、数据库和查询、...
《全栈性能测试修炼宝典JMeter实战+零成本实现WEB性能测试》是关于使用Apache JMeter进行性能测试的专业指南。这本书深入浅出地讲解了如何利用JMeter这个开源工具来评估和优化Web应用程序的性能,同时强调了如何在不...
《全栈性能测试修炼宝典JMeter实战》是一本深入探讨性能测试的实践指南,尤其聚焦于使用Apache JMeter工具进行测试。JMeter是开源软件,广泛应用于性能、负载和稳定性测试,尤其在Web应用中表现出色。这本书的目的是...
这本书对于学Jmeter真的是非常有用,在网上找了好久算是清晰的扫描版
《全栈性能测试修炼宝典JMeter实战》是一本深入探讨性能测试技术,特别是使用Apache JMeter工具进行实战演练的专业书籍。这本书旨在帮助读者全面掌握性能测试的核心概念、方法论以及JMeter的具体应用,从而提升在...
全栈性能测试修炼宝典 JMeter实战(带书签),第一章 性能方向职业发展 第二章 性能测试的初体验 第三章 JMeter体系结构 第四章 脚本开发 第五章 JMeter负载与监控 第六章 JMeter元件详解 第七章 JMeter常用脚本开发 ...
本书首先介绍基础的性能测试理论,接着详细介绍如何使用jmeter完成各种类型的性能测试。实战章节中作者以测试某大型保险公司电话销售系统为例,手把手教会读者如何用jmeter来完成一个实际的性能测试任务。 本书...
【性能测试-Jmeter.pptx】的培训内容涵盖了性能测试的多个重要环节,包括数据制造、性能测试方案设计、脚本执行、性能监控与调优以及编写性能测试报告。以下是对这些知识点的详细阐述: 1. **如何制造数据**: - ...
本书全面介绍了进行软件性能测试的实战技术和JMeter的应用知识,本书内容分4部分:首部分基础篇,主要讲解了当前性能测试状况及发展前景、性能测试的基础理论,让读者尽快入门学习;第二部分工具篇,讲解开源负载...
《使用JMeter 4.0进行微信小程序性能测试详解》 微信小程序的广泛使用使得其性能测试变得至关重要,本文将详细介绍如何使用JMeter 4.0这一强大的性能测试工具对微信小程序进行压力测试。JMeter是一款由Apache开发的...
《Jmeter WEB性能测试自学书籍入门到精通》是一本针对初学者精心编写的教程,旨在帮助读者快速掌握Jmeter这款强大的开源性能测试工具。Jmeter是Apache组织开发的一款用于功能和性能测试的Java应用程序,广泛应用于...
### Web性能测试工具-JMeter详解 #### 一、概述 **Apache JMeter** 是由Apache组织开发的一款开源、免费的性能测试工具,主要用于对Web应用进行功能和性能测试。随着其不断发展,JMeter的应用范围已经从最初的Web...
JMeter是一款广泛使用的开源性能测试工具,适用于模拟多种负载条件,进行负载测试、压力测试、并发测试和容量测试,以验证系统的性能表现。 1.1 性能测试概念 性能测试包括负载测试和压力测试,前者用于了解系统在...
jmeter 是 Apache 组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此常被用做接口功能测试和性能测试。 jmeter 能够很好地支持各种常见接口,如 HTTP(s)、...
【JMeter性能测试培训】 JMeter是一款由Apache组织开发的开源、纯Java应用程序,主要用于进行功能和性能测试。它能够测试静态和动态资源的性能,包括HTTP和FTP服务器,同时也支持对任何数据库(通过JDBC)进行压力...
本文来自于csdn,文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。ApacheJMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比...
基于【jmeter+jenkins+ant+tomcat】的自动化测试框架可以帮助我们高效地进行性能测试。 **JMeter** 是一个开源的、跨平台的性能测试工具,专门用于测试Web应用性能和负载。它可以模拟多个用户并发访问服务,从而...