Jmeter性能压测工具与Tomcat参数调整

jmeter

1 下载
https://jmeter.apache.org/download_jmeter.cgi

在这里插入图片描述

2 使用

解压到文件夹下 进入bin 目录

cmd F:\TOOLS\Apache\jmeter\apache-jmeter-5.4.3\bin
# 运行
jmeter.bat

先添加一个线程组
在这里插入图片描述
创建http请求
在这里插入图片描述
添加结果树
在这里插入图片描述
添加聚合报告
在这里插入图片描述

测试
#查看秒杀对应进程号 kill -9 进程号 杀死进程
ps -ef |grep miaosha
root     14507 14506 99 20:38 pts/0    00:00:13 java -Xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar miaosha.jar
root     14534 13693  0 20:38 pts/0    00:00:00 grep --color=auto miaosha
#查看端口号 可看出在8090端口启动了
[root@master miaosha]# netstat -anp | grep 14507
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      14507/java
unix  2      [ ]         STREAM     CONNECTED     48464744 14507/java

在host文件下配值主机 客户端发起dns查询先从host文件中查看映射 没有再去dns服务上查询
在这里插入图片描述
在这里插入图片描述
保存后点击run就可以在结果树和报告上查看信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0wrw1asD-1651819204639)(F:\typoraImage\image-20220505210101199.png)]

#查看某个进程对应的线程数量
[root@master ~]# ps -ef |grep java
root     14507     1  0 May05 ?        00:01:57 java -Xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar miaosha.jar
root     32134 32056  0 13:19 pts/0    00:00:00 grep --color=auto java
# pstree -p 端口号
[root@master ~]# pstree  -p 14507
#查看线程数量
[root@master ~]# pstree  -p 14507 | wc -l
29
#查看机器性能数量
top -H

容量问题 并发线程数上不去

在这里插入图片描述

查看SpringBoot配置

spring-configuration-metadata.json文件下 查看个节点的配置
在这里插入图片描述

tomcat参数调整

在这里插入图片描述

[root@master /]# cd /www/miaosha
[root@master miaosha]# vim application.properties

server.port=8090
server.tomcat.accept-count=1000
server.tomcat.max-connections=10000
#4核8G 一般是800 线程切换要时间
server.tomcat.max-threads=500
server.tomcat.min-spare-threads=100
server.tomcat.keepAliveTimeOut=1800000
server.tomcat.maxKeepAliveRequests=100

root@master miaosha]# ps -ef |grep java
root      8596 32056  0 14:05 pts/0    00:00:00 grep --color=auto java
root     14507     1  1 May05 ?        00:17:48 java -Xms400m -Xmx400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar miaosha.jar
[root@master miaosha]# kill 14507
#重启 
./deploy.sh &

内嵌Tomcat

package com.miaoshaproject.config;

import org.apache.catalina.connector.Connector;
import org.apache.coyote.http11.Http11NioProtocol;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.stereotype.Component;


//当Spring容器内没有TomcatEmbeddedServletContainerFactory这个bean时,会把此bean加载进来
// 当springboot启动之后会将 application.properties 中server.tomcat 的参数加载到 protocol中
// 定义一个WebserverConfiguration 他会将参数传到 ConfigurableWebServerFactory内 ConfigurableWebServerFactory会将参数 customize出来
@Component
public class WebserverConfiguration implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
    @Override
    public void customize(ConfigurableWebServerFactory factory) {
        //使用对应工厂类定制化tomcat connector
        ((TomcatServletWebServerFactory)factory).addConnectorCustomizers(new TomcatConnectorCustomizer() {
            @Override
            public void customize(Connector connector) {
                Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();

                //定制化KeepAliveTimeout 设置30秒内没有请求则服务端自动断开KeepAlive连接
                protocol.setKeepAliveTimeout(30000);
                //当客户端发送超过10 000个请求则自动断开KeepAlive连接
                protocol.setMaxKeepAliveRequests(10000);

            }
        });
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值