佬们求解高并发场景的问题
接手了同事一个高并发的场景问题,理论上峰值一秒要处理500次请求,
之前他和领导是讨论开发了这么一个方案:用redis做消息队列存储初始请求,然后写了一个定时任务定时扫描线程池里队列空闲的数量,如果队列有空闲值,从redis消息队列里消费数据,压到线程池里执行业务操作,以此循环。
大概代码过程
方法B进行了一些业务操作,然后调用了一个查询表数据的方法
方法C查询了一条表数据并返回
之前同事线程池设置核心线程数设置100,最大线程数200,池队列200,定时任务A每12秒执行一次,一次取100条数据,看了看日志,在执行的中间会有这种场景
time2和time3之间会相差30多秒
其他设置和尝试:
1. 减小了线程池的大小和定时任务间隔,线程池核心线程数改成16(服务器16核),队列大小改成了32;定时任务A改成1秒执行一次。
结果是:总时间差不多还是五六分钟处理500条,但是time2和time3间隔差的短了点,在4s左右,还是不满足。
2. 服务的数据库链接数设置了 200,定时服务运行时,数据库连接数没有超过数据库上限,且工具里查询同样的sql很快,应该不是数据库瓶颈
3. 定时任务运行的时候看了下服务器top指令,cpu占用率最高每个核心30%,没有跑满;服务占用内存设置了最大2G;不知道有没有影响,看top里也没有占满只有1.7G左右
4. 把方法C 抽出来直接放在方法B里实现查询,呈现出来就是jdbcTemplate执行的前后两个时间差距变大。
目前没定位到这个time2和3之间为什么会有这么久的间隔,有没有佬给分析一下,感谢!
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: 棋德隆东强)
接手了同事一个高并发的场景问题,理论上峰值一秒要处理500次请求,
之前他和领导是讨论开发了这么一个方案:用redis做消息队列存储初始请求,然后写了一个定时任务定时扫描线程池里队列空闲的数量,如果队列有空闲值,从redis消息队列里消费数据,压到线程池里执行业务操作,以此循环。
大概代码过程
定时任务A {
1.判断线程池是否有空闲队列
2.从redis中获取消息
3. 线程池操作调用方法B
executor.execute(() -> {
方法B(xxx);
});
}
方法B进行了一些业务操作,然后调用了一个查询表数据的方法
方法B(xxx):{
long time1 = System.currentTimeMillis();
log.info("业务【" + xxx + "】time1 " + time1);
Data = 方法C(xxx);
long time5 = System.currentTimeMillis();
log.info("业务【" + xxx + "】 time5 " + time5);
long endTime = System.currentTimeMillis();
log.info("工单【" + relId + "】查询耗时"+(endTime-time1)+"ms");
}
方法C查询了一条表数据并返回
方法C(xxx){
long time2 = System.currentTimeMillis();
log.info("业务【" + xxx + "】 time2 " + time2);
StringBuffer sb = new StringBuffer("select * from 表名 where id=?");
List<Map<String, Object>> list = jdbcTemplate.queryForList(sb.toString(), xxx);
long time3 = System.currentTimeMillis();
log.info("业务【" + xxx + "】 time3 " + time3);
Map<String, Object> data = new HashMap<>;
if(list!=null&&list.size()>0){
data = list.get(0);
}
long time4 = System.currentTimeMillis();
log.info("业务【" + xxx + "】 time4 " + time4);
return data;
}
之前同事线程池设置核心线程数设置100,最大线程数200,池队列200,定时任务A每12秒执行一次,一次取100条数据,看了看日志,在执行的中间会有这种场景
2025-01-21 20:48:32.189 INFO 1286248 --- [ool-3-thread-63] 业务【xxx】time1 1737463712189
2025-01-21 20:48:32.189 INFO 1286248 --- [ool-3-thread-63] 业务【xxx】time2 1737463712189
2025-01-21 20:49:02.411 INFO 1286248 --- [ool-3-thread-63] 业务【xxx】time3 1737463742411
2025-01-21 20:49:02.411 INFO 1286248 --- [ool-3-thread-63] 业务【xxx】time4 1737463742411
2025-01-21 20:49:02.411 INFO 1286248 --- [ool-3-thread-63] 业务【xxx】time5 1737463742411
2025-01-21 20:49:02.411 INFO 1286248 --- [ool-3-thread-63] 业务【xxx】查询耗时30222ms
time2和time3之间会相差30多秒
其他设置和尝试:
1. 减小了线程池的大小和定时任务间隔,线程池核心线程数改成16(服务器16核),队列大小改成了32;定时任务A改成1秒执行一次。
结果是:总时间差不多还是五六分钟处理500条,但是time2和time3间隔差的短了点,在4s左右,还是不满足。
2. 服务的数据库链接数设置了 200,定时服务运行时,数据库连接数没有超过数据库上限,且工具里查询同样的sql很快,应该不是数据库瓶颈
3. 定时任务运行的时候看了下服务器top指令,cpu占用率最高每个核心30%,没有跑满;服务占用内存设置了最大2G;不知道有没有影响,看top里也没有占满只有1.7G左右
4. 把方法C 抽出来直接放在方法B里实现查询,呈现出来就是jdbcTemplate执行的前后两个时间差距变大。
目前没定位到这个time2和3之间为什么会有这么久的间隔,有没有佬给分析一下,感谢!
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: 棋德隆东强)
吓死我了。分享一个吓人的好链接
提醒:请关小音量,或直接把音响拔掉。光敏患者不要点。
我提醒你了,不要点了 确定吗 真的确定吗 没有退路了 没有退路了 没有退路了 好吧,做好心理准备 5 4 3 2 1 面对暴风雨吧 (点击了解更多详细信息)
如何呢?
15 个帖子 - 14 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: COC)
提醒:请关小音量,或直接把音响拔掉。光敏患者不要点。
我提醒你了,不要点了 确定吗 真的确定吗 没有退路了 没有退路了 没有退路了 好吧,做好心理准备 5 4 3 2 1 面对暴风雨吧 (点击了解更多详细信息)
如何呢?
15 个帖子 - 14 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: COC)
TG注册不了怎么办
注册TG输完手机号进入add email的时候总是显示 email not allowed,换sign in with Google显示this email domain is not allowed,换了outlook和gmail的邮箱都没有用,请教一下各位怎么注册
2 个帖子 - 2 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: 金振永)
注册TG输完手机号进入add email的时候总是显示 email not allowed,换sign in with Google显示this email domain is not allowed,换了outlook和gmail的邮箱都没有用,请教一下各位怎么注册
2 个帖子 - 2 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: 金振永)
android版edge这是和google杠上了?哈哈
edge自身可以去广告,现在在插件商店里面不仅预制了ubloc origin,还内置了一个专门去youtube广告的插件,哈哈
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: 小仙)
edge自身可以去广告,现在在插件商店里面不仅预制了ubloc origin,还内置了一个专门去youtube广告的插件,哈哈
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: 小仙)
pplx的sonar pro 模型api相比之前的llama3.1使用成本涨了多少?谁能帮我算一下?
pplx新推的sonar pro模型的api看上去贵的一批,有懂行的帮我算一下相比之前的llama3.1 online, 使用成本大概涨了多少啊?我感觉都涨了十来倍。。。用着肉疼
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: Shane)
pplx新推的sonar pro模型的api看上去贵的一批,有懂行的帮我算一下相比之前的llama3.1 online, 使用成本大概涨了多少啊?我感觉都涨了十来倍。。。用着肉疼
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: Shane)
【help】serv00的定时任务自动消失,这个有什么办法么?
用serv00做了个图床,但是经常刷不出图,用做了一个* * * * *的定时,
刚才看到图床失效了,进去看了一看,发现定时任务消失了,这个大家有什么解决方案么?
4 个帖子 - 3 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: 小仙)
用serv00做了个图床,但是经常刷不出图,用做了一个* * * * *的定时,
刚才看到图床失效了,进去看了一看,发现定时任务消失了,这个大家有什么解决方案么?
4 个帖子 - 3 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: 小仙)
晚餐选择恐惧,让大模型给我推荐个随机菜单,聊了几次,连分子包埋都出来了。。
是不是太看得起我了啊?我配吗 😅
液态氮速冻脆化+超高温炙闪
这我要上哪儿吃啊
2 个帖子 - 2 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: user.linux.do)
是不是太看得起我了啊?我配吗 😅
液态氮速冻脆化+超高温炙闪
这我要上哪儿吃啊
2 个帖子 - 2 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: user.linux.do)
IDEA 快捷键
一、构建/编译
二、文本编辑
三、光标操作
四、文本选择
五、代码折叠
六、多个插入符号和范围选择
七、辅助编码
八、上下文导航
九、查找操作
十、符号导航
十一、代码分析
十二、运行和调试
==十三、代码重构★★★==
十四、全局 CVS 操作
十五、差异查看器
十六、工具窗口
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: tuantuan)
一、构建/编译
二、文本编辑
三、光标操作
四、文本选择
五、代码折叠
六、多个插入符号和范围选择
七、辅助编码
八、上下文导航
九、查找操作
十、符号导航
十一、代码分析
十二、运行和调试
==十三、代码重构★★★==
十四、全局 CVS 操作
十五、差异查看器
十六、工具窗口
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: tuantuan)
GitHub 自动根据 Star list 生成 Markdown
有时候 star list 太长的时候比较难翻,毕竟只能根据 star 时间排序。
而官方 API 又没提供获取 star list 的 API,找了一下社区也只有获取全部 star repo 后根据语言排序的,就自己尝试了一下,发现反爬措施较弱,于是就用正则+ requests 一把梭简单实现了一个,供大伙参考~
Repo:github.com
GitHub - zhuozhiyongde/Stargazer: 我在梦河边浣洗星星。
我在梦河边浣洗星星。
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: Haibara)
有时候 star list 太长的时候比较难翻,毕竟只能根据 star 时间排序。
而官方 API 又没提供获取 star list 的 API,找了一下社区也只有获取全部 star repo 后根据语言排序的,就自己尝试了一下,发现反爬措施较弱,于是就用正则+ requests 一把梭简单实现了一个,供大伙参考~
Repo:github.com
GitHub - zhuozhiyongde/Stargazer: 我在梦河边浣洗星星。
我在梦河边浣洗星星。
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: Haibara)
ipv6小鸡套warp
各位佬,有个ipv6小鸡,有ipv4出口 还有必要套warp吗,warp是只出不进吗 请各位佬解答
2 个帖子 - 2 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: sunlong)
各位佬,有个ipv6小鸡,有ipv4出口 还有必要套warp吗,warp是只出不进吗 请各位佬解答
2 个帖子 - 2 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: sunlong)
AetherionMind 自助注册被删库喽~
从[AetherionMind ] 自助注册 ] 100 名额 ] Google for Education](https://linux.do/t/topic/383311)继续讨论:
从 SFTP 上传新版注册程序时给 users.csv 数据文件顺便覆盖了… 看起来没法恢复了…
很快会重新开始, 对于带来的不便深感抱歉…
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: Neuroplexus)
从[AetherionMind ] 自助注册 ] 100 名额 ] Google for Education](https://linux.do/t/topic/383311)继续讨论:
从 SFTP 上传新版注册程序时给 users.csv 数据文件顺便覆盖了… 看起来没法恢复了…
很快会重新开始, 对于带来的不便深感抱歉…
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: Neuroplexus)
o1有代码解释器吗?能计算很复杂的数吗?
GPT-4o给出了个题:
o1竟然思考了12分59秒(我以为o1极限就10分钟)
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: lueluelue)
GPT-4o给出了个题:
设 S = {1,2,3,..., n}, 令 f(S) 表示所有 S 的非空子集和的平方和, 即:
$$f(S) = \sum_{T \subseteq S, T \neq \emptyset} (\sum_{x \in T} x)^2$$
求当 n = 2023 时, f(S) mod (10^9 + 7) 的值。
o1竟然思考了12分59秒(我以为o1极限就10分钟)
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: lueluelue)
骨折在家待着无聊好无聊
因为骨折,工伤在家歇了快四个月了。最近这个月是越来越无聊了,不知道干啥好。游戏玩一两个小时就倦了,电视剧、电影也不至于天天看,想做点小项目,也没思路,不知道该咋整了。
有没有什么建议。
(第一次发帖,不知道标签是否合适)
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: bomian)
因为骨折,工伤在家歇了快四个月了。最近这个月是越来越无聊了,不知道干啥好。游戏玩一两个小时就倦了,电视剧、电影也不至于天天看,想做点小项目,也没思路,不知道该咋整了。
有没有什么建议。
(第一次发帖,不知道标签是否合适)
1 个帖子 - 1 位参与者
阅读完整话题
via LINUX DO - 最新话题 (author: bomian)