高并发性能优化设置

tomcat设置



server:
  tomcat:
    max-connections: 10000 # 最大连接数,默认值为8192,一般情况下可以不用修改
    threads:
      max: 1000 # 处理请求最大线程数,默认值是200,既tomcat的默认并发是200
      min-spare: 100 # 处理请求的最小空闲线程,即使没有请求需要处理,也保留,以便于快速响应连接请求
    accept-count: 100 # 额外的阻塞的处理请求数,当所有线程都在使用,还可以额外接受的请求,并放入请求队列,待有可用线程后立刻处理,一般不超过最大线程数的10%

accept-count: 100:当所有可用的处理线程都在使用时,Tomcat能够接受的额外请求的数量,并将这些请求放入队列中等待处理。意味着如果所有的处理线程都在忙,Tomcat还可以接受额外的100个请求,但这些请求需要等待直到有线程变得可用。

连接数与线程数,根据TCP原理,是先建立连接,再处理请求,如果在连接超时后还没有处理请求,则断开连接,例如常见的timeout,socket closed

nginx设置

主要是开启gzip压缩,减少流量

    # 开启gzip压缩
    gzip on;
    # 压缩哪些文件类型
    gzip_types text/plain  text/css application/json text/javascript application/javascript;
    # 最小压缩大小,小于这个大小不压缩,单位是字节
    gzip_min_length 1000;
    # 压缩率,1-9,数字越大压缩的越好,但是也越消耗CPU
    gzip_comp_level 6;
    # 是否在http header中添加Vary: Accept-Encoding,建议开启
    gzip_vary on;
    # 禁止IE6使用gzip,因为这些浏览器不支持gzip压缩
    gzip_disable "MSIE [1-6]\.";
    # 在特定条件下对代理服务器的响应进行压缩
    gzip_proxied expired no-cache no-store private auth;
    # 缓冲区数量和大小,设置了16个8KB的缓冲区
    gzip_buffers 16 8k;
    # 最小http版本,低于这个版本不压缩
    gzip_http_version 1.1;

Springboot程序内优化

jmeter自身优化

修改HEAP大小,一般为主机内存的一半

if not defined HEAP (
    rem See the unix startup file for the rationale of the following parameters,
    rem including some tuning recommendations
    set HEAP=-Xms1g -Xmx8g -XX:MaxMetaspaceSize=512m
)

从bat启动时为英文修改


版本号 #13
由 董列涛 创建于 23 一月 2025 08:19:20
由 董列涛 更新于 28 二月 2025 18:35:31