Jmeter之tomcat性能测试+性能改进措施

Jmeter用于tomcat性能测试,因为项目部署在tomcat,正常情况下,一个tomcat可以承受500个并发,通过修改配置,及其相关的tomcat优化,可以承受到1000个并发。

如何测试tomcat优化前和优化后的结果?

通过Jmeter测试,就能达到对应的效果

Jmeter测试tomcat比较简单

1.建立对应的线程组

2.建立Http请求 需要填写的一个是协议名称,一个是IP地址或域名,一个是端口号,还有一个是路径

这个路径默认不填也行,如果具体到post或get请求及其携带参数,就需要填写

如果测试具体的get或post请求,加请求url和对应的参数,如下图所示:

注意和postMan工具有些相似,不同于postman,Jmeter可以进行多用户测试,即多个线程测试

通过察看结果树,可以查看请求失败:

聚合报告可供分析:

server.xml文件:

线程池优化:

连接池优化:

Executor重要参数说明:

name:共享线程池的名字。这是Connector为了共享线程池要引用的名字,该名字必须唯一。默认值:None;

namePrefix:在JVM上,每个运行线程都可以有一个name 字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追加到这一前缀的后面。默认值:tomcat-exec-;

maxThreads:该线程池可以容纳的最大线程数。默认值:200;

maxIdleTime:在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位)。只有当前活跃的线程数大于minSpareThread的值,才会关闭空闲线程。默认值:60000(一分钟)。

minSpareThreads:Tomcat应该始终打开的最小不活跃线程数。默认值:25。

threadPriority:线程的等级。默认是Thread.NORM_PRIORITY

连接池重要参数说明:

executor:表示使用该参数值对应的线程池;

minProcessors:服务器启动时创建的处理请求的线程数;

maxProcessors:最大可以创建的处理请求的线程数;

acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。

这时你会发现性能会得到很大的提升

当然必要的时候,需要修改tomcat的内存

tomcat的3种运行模式

bio: 
默认的模式,性能非常低下,没有经过任何优化处理和支持.

nio: 
nio(new I/O),是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。

apr: 
安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.

启动NIO模式

修改server.xml里的Connector节点,修改protocol为org.apache.coyote.http11.Http11NioProtocol

上述比对,这也就是我们为什么选择NIO的原因

原文地址:https://www.cnblogs.com/youcong/p/8729300.html

时间: 2024-10-08 20:12:16

Jmeter之tomcat性能测试+性能改进措施的相关文章

jmeter对tomcat性能测试

主要对tomcat的参数做一些记录(jmeter和tomcat在同一个计算机,可能引起测试误差) 我的计算机配置  4核8线程  8G内存 案例一 tomcat  JVM  1.8G堆内存,无数据库操作 #最大线程数server.tomcat.maxThreads =10000 #这个参数是指在同一时间,tomcat能够接受的最大连接数,一般这个值要大于maxThreads+acceptCountserver.tomcat.maxConnections =20000#当线程数量达到最大线程数时所

【转】JMeter学习(十四)JMeter监控Tomcat性能

使用jmeter的tomcat监视器功能,可以通过向tomcat的status页面发送get请求,得到资源使用信息,然后转换为只直观的图像方式,这样的话,就可以监视到服务器的资源使用情况,不过需要注意的是,要使用tomcat监视器功能,就必须在要监视的服务器上装有tomcat. 一.  配置$CATALINA_HOME/conf/tomcat-users.xml.配置如下: <?xml version='1.0' encoding='utf-8'?> <tomcat-users>

JMeter学习(十四)JMeter监控Tomcat性能

使用jmeter的tomcat监视器功能,可以通过向tomcat的status页面发送get请求,得到资源使用信息,然后转换为只直观的图像方式,这样的话,就可以监视到服务器的资源使用情况,不过需要注意的是,要使用tomcat监视器功能,就必须在要监视的服务器上装有tomcat. 一.  配置$CATALINA_HOME/conf/tomcat-users.xml.配置如下: <?xml version='1.0' encoding='utf-8'?> <tomcat-users>

JMeter 深入进阶性能测试体系 各领域企业实战

详情请交流  QQ  709639943 00.JMeter 深入进阶性能测试体系 各领域企业实战 00.30天搞定大数据爬虫项目 00.零基础实战机器学学习 00.企业级实战 Spark离线和实时电影推荐系统 00.三大项目掌握Storm流计算 00.道路交通实时流量监控预测系统 00.基于Spark2.x新闻网大数据实时分析可视化系统 00.小码哥Java大神班五期 任小龙SSM Spring5 Mybatis SpringMVC 00.Python玩转人工智能框架 TensorFlow 0

Jmeter Http接口性能测试

Jmeter Http接口性能测试 1.      启动Jmeter Jmeter下载解压即可使用,Jmeter启动,点击D:\ProgramFiles\jmeter\apache-jmeter-2.8\bin下的jmeter.bat就可以了. 2.      添加线程组 如下图添加线程组 线程组相当于loadrunner的vuser,这里配置线程组的各项内容.主要有以下几点需要配置: 1)线程数:设置发送请求的线程数目. 2)Ramp-up period: 就是总共设定的线程数据在多长时间内启

JMeter 深入进阶性能测试进阶案例实战

第1章 性能测试整体认知了解性能测试的目的,想做好性能测试都需要掌握哪些方面的技能(开发语言.操作系统.网络.工具等).性能测试.稳定性.压力.疲劳.容量预估.多并发逻辑.掌握如何开始性能测试,并且掌握在性能测试中每个部分的工作重点,了解软件架构.监控部署.脚本准备.场景设置及知道为什么需要做这些.掌握:事务.请求响应时间....1-1 性能测试行业分析1-2 性能测试技能树1-3 性能测试的目的及分类1-4 性能测试的工作流程1-5 常见系统应用分层架构1-6 性能测试指标定义1-7 性能测试

《jmeter接口自动化与性能实战-飞天小子.pdf》

Jmeter作为开源测试工具,以其轻便,功能齐全的优点,正越来越受到企业的重视.作为纯java的工具,它的扩展性无比强大,既可以做功能测试,也可以做性能测试:既支持接口层面的测试,也支持webdriver驱动浏览器做ui测试.它支持各种协议,各种数据库,甚至于大数据,MQ这些前沿技术也被加入了进来.正因为版本迭代越来越快,功能越来越复杂,所以在实际操作过程中我们会遇到很多困难.而网上的一些教程由于版本过于陈旧,已经不能满足于我们的需求.我在工作之余,耗费了大量个人的时间潜心编写和整理了这套jme

R in action读书笔记(10)-第八章:回归-- 异常观测值 改进措施

8.4 异常观测值 8.4.1 离群点 car包也提供了一种离群点的统计检验方法.outlierTest()函数可以求得最大标准化残差绝对值Bonferroni调整后的p值: > library(car) > outlierTest(fit) rstudent unadjusted p-value Bonferonni p Nevada 3.542929 0.00095088 0.047544 可以看到Nevada被判定为离群点(p=0.048).注意,该函数只是根据单个最大(或正或负)残差值

性能测试–性能监视器

性能测试–性能监视器 性能计数器(counter)是描述服务器或操作系统性能的一些数据指标.计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展 性.进行性能瓶颈的定位时,对计数器的取值的分析非常关键.但必须说明的是,单一的性能计数器只能体现系统性能的某一个方面,对性能测试结果的分析必须基于多个不同的计数器. 与性能计数器相关的另一个术语是“资源利用率”.该术语指的是系统各种资源的使用状况.为了方便比较,一般用“资源的实际使用/总的资源可用量”形成资源利用率的数据,用以进行