ygc 一秒一次,一次停顿 15m 左右正常么

2023-01-10 22:56:55 +08:00
 luxinfl

正常系统应该不会这么频繁吧。主要是有个接口,需要上报一些 id 信息,偶发性接口时延大于 500ms ,平常应该是 3ms 左右。这个 ygc 会影响到接口么

2036 次点击
所在节点    程序员
12 条回复
churchmice
2023-01-10 23:09:14 +08:00
谜语人*出哥谭
rekulas
2023-01-10 23:09:41 +08:00
并发高不高 高的话需要考虑下是不是 gc 导致的
learningman
2023-01-10 23:11:09 +08:00
@churchmice ygc, young generation garbage collection
luxinfl
2023-01-10 23:17:17 +08:00
@churchmice 我寻思做 java 的应该都懂
luxinfl
2023-01-10 23:18:42 +08:00
@rekulas 并发比较高的,能有 3000qps 的样子,所以我怀疑是 ygc 次数太多的问题。。但是想不通为啥 ygc 的那一点停顿会偶然导致时延高了这么多
acerphoenix
2023-01-11 09:21:05 +08:00
我堕落了。
whatevers
2023-01-11 09:46:28 +08:00
jstat 看下实时 gc 状态呢
zilonglym
2023-01-11 13:04:02 +08:00
3000qps, 是单台节点?按照 200 线程算,每秒 15 个,67ms 一个,一秒一次停顿 15ms 这么算挺大的了
luxinfl
2023-01-11 15:47:48 +08:00
@zilonglym 只能先看看调大一点 eden 区了,都是些用完就销毁的对象。。大一点 eden 能保证 ygc 三四秒一次,停顿时间感觉也大差不差。
Red998
2023-01-11 18:07:52 +08:00
接口超时 有可能是代码问题。比如请求了别的服务、事务等待、有什么耗时操作 之类的
Red998
2023-01-11 18:11:18 +08:00
频繁 gc 肯定代码中有什么大的对象 一直 GC 不掉。可以参考: https://heapdump.cn/article/1661497
sadfQED2
2023-01-11 19:51:11 +08:00
好歹你把机器硬件配置,jvm gc 配置,代码逻辑贴上来吧。你这么问鬼知道哪里的问题啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/908035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX