springboot 之 内置tomcat参数优化

优化思路:

  1. 线程数
  2. 超时时间
  3. JVM优化

线程数相关配置

修改application.yml配置文件

#等待队列长度,当可分配的线程数全部用完之后,后续的请求将进入等待队列等待,等待队列满后则拒绝处理,默认100。
server.tomcat.accept-count=100
#在同一时间,最大可被连接数,默认8192
server.tomcat.max-connections=8192
#最大工作线程数,默认200
server.tomcat.threads.max=200
#最小工作线程数,初始化分配线程数,默认10
server.tomcat.threads.min-spare=10

#线程数量:
#(建议这个配置数可以在服务器CUP核心数的200~250倍之间)

#等待队列长度:
#队列做缓冲池用,但也不能无限长,消耗内存,出队入队也耗CPU

超时时间

#连接超时时间,单位ms
#用来保障连接数不容易被压垮。如果大批量的请求过来,延迟比较高,很容易把线程数用光,这时就需要提高超时时间。
#这种情况在生产中是比较常见的 ,一旦网络不稳定,宁愿丢包也不能把服务器压垮
server.tomcat.connection-timeout=12000

JVM优化

一般来说没有太多场景,无非就是加大初始的堆,和最大限制堆,当然也不能无限增大,要根据实际情况优化。

  • -Xms: 初始堆大小 
  • -Xmx: 最大堆大小 
  • -Xss: JVM启动的每个线程分配的内存大小 (例如:-Xss512k)
  • -Xmn2g: 设置年轻代大小为2G。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小 

More

MYSQL数据库QPS问题

主键查询:千万级别数据 = 1-10毫秒
唯一索引查询:千万级别数据 = 10-100毫秒
非唯一索引查询:千万级别数据 = 100-1000毫秒
无索引:百万条数据 = 1000毫秒+

解决OutOfMemoryError: unable to create new native thread问题

点我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值