美文网首页
秒杀项目性能压测之定制化内嵌tomcat开发

秒杀项目性能压测之定制化内嵌tomcat开发

作者: 小石读史 | 来源:发表于2020-09-25 09:14 被阅读0次
image

默认配置不能满足我们的并发请求,我们需要修改配置来处理并发。修改application.properties文件,内容如下(tomcat配置和服务器配置有关):


server.port=8080

server.tomcat.accept-count=1000

server.tomcat.max-connections=10000

server.tomcat.max-threads=500

server.tomcat.min-spare-threads=100

image

然后杀掉java进程重新启动项目

image

使用命令“pstree -p 9768 | wc -l”查看java项目的线程或进程数

image image

为了更好的利用资源,保护系统不受客户端连接拖累,我们新增WebServerConfiguration.java文件


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;

/**

* Created by hzllb on 2019/2/6.

*/

//当Spring容器内没有TomcatEmbeddedServletContainerFactory这个bean时,会吧此bean加载进spring容器中

@Component

public class WebServerConfiguration implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {

    @Override

    public void customize(ConfigurableWebServerFactory configurableWebServerFactory) {

            //使用对应工厂类提供给我们的接口定制化我们的tomcat connector

        ((TomcatServletWebServerFactory)configurableWebServerFactory).addConnectorCustomizers(new TomcatConnectorCustomizer() {

            @Override

            public void customize(Connector connector) {

                Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();

                //定制化keepalivetimeout,设置30秒内没有请求则服务端自动断开keepalive链接

                protocol.setKeepAliveTimeout(30000);

                //当客户端发送超过10000个请求则自动断开keepalive链接

                protocol.setMaxKeepAliveRequests(10000);

            }

        });

    }

}

相关文章

  • 秒杀项目性能压测之定制化内嵌tomcat开发

    默认配置不能满足我们的并发请求,我们需要修改配置来处理并发。修改application.properties文件,...

  • Apache Jmeter压力测试与性能监控

    项目在功能开发差不多的时候,常常需要关注系统的性能指标,需要对服务进行性能压测。系统在性能压测过程中,需要关注被压...

  • Tomcat嵌入式开发 (一) 开篇

    项目简介 目的:使用内嵌Tomcat模拟开发SpringBoot框架 开发工具:idea2019.3 Tomcat...

  • Spring Cloud Feign 性能优化

    1、替换 tomcat 首先,把 tomcat 换成 undertow,这个性能在 Jmeter 的压测下,und...

  • API网关Zuul(3)--性能调优

    经过之前大量压测,先给出效果较理想的性能参数 说明: 关于tomcat配置:zuul是运行于tomcat容器中的,...

  • loadTest

    参考值:考虑此项目组以前开发过的系统性能情况,能否做为一个参考值压测数据管理:压测数据打标签 tag字段、影子库、...

  • 2018-08-30压测

    课堂笔记 性能瓶颈做压测需要准备什么1.压测脚本压测思路是什么由小到大,逐渐添加压力 jmeter可视化执行优点:...

  • 2018-08-30压测

    课堂笔记 性能瓶颈做压测需要准备什么1.压测脚本压测思路是什么由小到大,逐渐添加压力 jmeter可视化执行优点:...

  • 外挂docker工具镜像至某个运行中的container

    场景 开发环境需要进入pod内部压测代理的性能(压测工具选择wrk),但是容器内部没有wrk 方法一: 通过yum...

  • spring boot项目部署到服务器启动失败

    最近用springboot写的一个项目,开发环境是jdk1.8,spring boot内嵌tomcat(tomca...

网友评论

      本文标题:秒杀项目性能压测之定制化内嵌tomcat开发

      本文链接:https://www.haomeiwen.com/subject/aixjektx.html