server.tomcat.threads.min-spare=10 server.tomcat.threads.max=200 server.tomcat.max-connections=8192 server.tomcat.accept-count=100
第一个参数代表程序启动就会开启10个线程。
如果我改成20个,看看什么情况,可以看到初始化了20个线程
看第二个参数:如果我发起了220个请求,用jmeter发起压测看看效果。
从图中可以看到:tomcat会立马开启200个线程,不多也不少,
jmeter全部处理完:220个全部处理完
如果我发起5000个请求:
可以看到每10s只能处理200个请求:
从而可以得知如下参数真是的含义:
第一个参数底层tomcat默认开启20个请求,第二个参数表示一次只能处理200个请求,等200个请求处理完在处理下一个请求。
3.看下这两个参数:
jmeter发起100个请求,发现有10%的错误率,也就是有10个不能处理,也就是说,一次性只能处理90个请求,也就是80+10.
综上所述:我们要把下面这两个参数设置大一点,让tomcat能接受更多的请求。
server.tomcat.max-connections=80 server.tomcat.accept-count=10
下面这两个参数:可以根据操作系统的性能调大一点,让tomcat有更多的线程来处理请求,如果线程不够多,且程序处理比较耗时,后续的请求就会一直处于等待状态。
server.tomcat.threads.min-spare=20 server.tomcat.threads.max=200
如果一个请求处理需要10s,那么server.tomcat.threads.max=200的话,也就是说每隔10秒处理200个请求。后续的请求一直处于等待状态。