fengzf
2023-12-19 10:25:59
jdbc链接池太小导致程序性能卡慢
1、问题背景
公司宣传网站做了一次功能调整,程序逻辑并不复杂,展示文章详情。在dev环境秒开,部署到线上打开速率到了恐怖的1.9s
以下是程序分段时间日志记录
dev环境,总时间102ms
正式环境,总时间是1630ms
性能相差10倍之多。
2、问题定位
(1)、排除数据库数据量的影响,一般dev的数据普遍要比线上数据量小,在dev环境搞了一个与线上同等数据量的数据库,测试结果dev还是短短的100ms左右,快的时候是52ms;
(2)、排除代码不一致的问题,线上代码经常是增量发布,将线上代码打包部署到dev,将dev代码全量发布线上,结果依然是dev性能要比线上快了10倍多。
(3)、运维协助定位,jdbc控制台查询时间都很短,以及服务器调用时间都没有延迟。最终发现数据库连接池的设置过小。最初是10,调整到50,线上性能终于提上来了。 线下环境只有开发和测试在用,线上环境访问量较大,线程池10个明显不能满足需求,问题往往是出在不起眼的小地方。
评论
最近浏览
zhos0212 LV19
4月3日
rickson LV5
3月8日
wenMN1994 LV13
2月6日
笨小孩一号 LV22
1月23日
Gin19960217 LV4
1月22日
youwuzuichen LV10
1月9日
暂无贡献等级
deluser LV3
2023年12月28日
fengzf LV16
2023年12月21日
最代码官方 LV167
2023年12月19日