4core/8G springboot压测并发设置
server.tomcat.max-threads=800
server.tomcat.accept-count=200
允许同时并发达到800+200=1000
配置等比缩小,并发设置参数等比缩小,同时并发数等比缩小
JVM优化:指定并发GC线程数,docker容器在运行时,GC获取到的核心数仍然是物理机的核心数,即8核,所以会依据默认配置,反而增加GC切换cpu的时间,jdk11使用G1收集器后,该设置就无所谓了。
-XX:ParallelGCThreads=核心数*2
-XX:ConcGCThreads=核心数
增大docker容器的limit,和tomcat最大并连接数保持一致或稍多即可(实际上能处理的连接数有上限,调整是为了对齐tomcat)
–pid-limit 10000
tomcat参数修改
–server.tomcat.max-threads=200核心数
–server.tomcat.accept-count=50核心数
ngx_http_limit_conn_module
ngx_http_limit_conn_module是Nginx提供的连接数限流模块,是对某个KEY对应的总的网络连接数进行限流。可以按照IP来限制IP维度的总连接数,或者按照服务域名来限制某个域名的总连接数。但不是每一个请求连接都会被计数器统计,只有那些被Nginx处理的且已经读取了整个请求头的请求连接才会被计数器统计。