引言
彼时 SpringBoot 初兴,万象更新,号称“开箱即用”“约定优于配置”,一时间风靡四方。
开发者趋之若鹜,纷纷称快,仿佛自此架构之重可卸、配置之繁可省,一行 main() 即可气定神闲、纵横沙场。
然则时光久远,方知此言非虚,却也未尽其真。所谓默认,不过是你未曾开口,框架自作主张。表面无碍,实则步步杀机,线上事故十有八九,皆因“未曾配置”的“默认”。
回首往昔,实堪自嘲。曾自诩熟稔底层、精通原理,然于这些藏于阴影处的默认设定,竟茫然不觉。故障一起,仓皇失措,耗时良久,方才发现,不过是框架做了一个并不适合的决定。
是以今日提笔,将过往种种记录于此,只盼后来者少走弯路。
正文
Tomcat连接池
SpringBoot默认使用Tomcat作为Web容器,但默认的连接池配置在高并发场景下会成为瓶颈。
默认配置下,Tomcat的最大连接数只有200,最大线程数也只有200。这意味着当并发请求超过200时,后续请求就会排队等待。在生产环境中,这个配置明显不够用。
.jpg)
全关注
