惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
博客园 - 叶小钗
The Cloudflare Blog
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
小众软件
小众软件
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享

李锋镝的博客

LiteLLM 本地代理搭建 Claude-HUD 使用文档 Kratos+ —— Kratos 主题二次开发记录 译文:如何将单体应用拆解为微服务 codebase-memory-mcp 极简完整使用指南 Claude Haiku 4.5、Claude Sonnet 4.6、Claude Opus 4.7 区别以及各自的新特性 SchedulingConfigurer详解 踩坑60+次后,我终于搞懂 Claude Skill 怎么写才会真的触发 Everything Claude Code 详细使用文档 配置Jackson使用字段而不是getter/setter来序列化和反序列化 这个域名注册整整十年了,十年时间,真快啊 Claude Code全维度实战指南:从入门到精通,解锁AI编程新范式 Apollo配置中心中的protalDB的作用是什么 org.apache.ibatis.plugin.Interceptor类详细介绍及使用 岁末 Excel2016右键新建工作表,打开时提示“因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。”的解决办法 wordpress增加说说功能 玩博客的人是不是越来越少了? Java 为什么有这么多 “O”? 别再背线程池的七大参数了,现在面试官都这么问 2024年11月1号 农历十月初一 我的第一个WordPress插件:Dylan Custom Plugin上线了 推荐一款比较养眼的Xshell配色方案 hnswlib installation failed 开工啦~ 阳了... MybatisCodeHelperPro激活 @Async注解的坑 新买的笔记本发货啦…… 这个中秋节感觉过的好累啊
居住证可算是申请通过了……
李锋镝 · 2021-10-26 · via 李锋镝的博客

我太难了……

从10月8号到10月19号,历时11天,终于把居住证签注搞定了。 :lei: 

大晚上的,公司接口压测,测试说单个接口并发50就不行了,看了下线上的日志和监控,发现应用的状态还很健康,性能瓶颈主要是在数据库连接池以及程序线程池上,

initial-size: 80
min-idle: 80
max-active: 80
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 30000
max-evictable-idle-time-millis: 60000

数据库并发连接配置的是80,响应超时的接口,基本都在卡在等待数据库连接池这里,zipkin分析基本等待时间都在60秒左右,太坑了。

接口本身是异步走的线程池处理的,不过这个线程池整个应用共享,好多地方都用的这个线程池,线程池的配置是:

executor = new ThreadPoolExecutor(2, 500, 120L, TimeUnit.SECONDS, new SynchronousQueue(), new CallerRunsPolicy());

导致这个线程池支持的最大并发就是500,一旦压测,轻轻松松就能到这个数,这样的话等待数据库连接的线程数就又会增加,获取数据库连接就更慢……整个恶性循环……

而且数据库的性能应该也存在瓶颈,一旦连接数上来了,数据库压力就大,很大概率会把数据库CPU和内存打满,这个也得提前预防下,我太难了……

最后的最后,历史遗留代码真的很坑人,开发的水平真的参差不齐!!!

除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/daily/3761