https://jmeter.apache.org/download_jmeter.cgi2 使用
解压到文件夹下 进入bin 目录
cmd F:TOOLSApachejmeterapache-jmeter-5.4.3bin # 运行 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就可以在结果树和报告上查看信息
#查看某个进程对应的线程数量 [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文件下 查看个节点的配置
[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{ @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); } }); } }



