正常系统应该不会这么频繁吧。主要是有个接口,需要上报一些 id 信息,偶发性接口时延大于 500ms ,平常应该是 3ms 左右。这个 ygc 会影响到接口么
正常系统应该不会这么频繁吧。主要是有个接口,需要上报一些 id 信息,偶发性接口时延大于 500ms ,平常应该是 3ms 左右。这个 ygc 会影响到接口么
|
1
谜语人*出哥谭
|
|
rekulasJan 10, 2023
2
并发高不高 高的话需要考虑下是不是 gc 导致的
|
|
learningmanJan 10, 2023 via Android
3
@churchmice ygc, young generation garbage collection
|
|
4
@churchmice 我寻思做 java 的应该都懂
|
|
5
@rekulas 并发比较高的,能有 3000qps 的样子,所以我怀疑是 ygc 次数太多的问题。。但是想不通为啥 ygc 的那一点停顿会偶然导致时延高了这么多
|
|
acerphoenixJan 11, 2023
6
我堕落了。
|
|
whateversJan 11, 2023
7
jstat 看下实时 gc 状态呢
|
|
zilonglymJan 11, 2023
8
3000qps, 是单台节点?按照 200 线程算,每秒 15 个,67ms 一个,一秒一次停顿 15ms 这么算挺大的了
|
|
9
@zilonglym 只能先看看调大一点 eden 区了,都是些用完就销毁的对象。。大一点 eden 能保证 ygc 三四秒一次,停顿时间感觉也大差不差。
|
|
Red998Jan 11, 2023
10
接口超时 有可能是代码问题。比如请求了别的服务、事务等待、有什么耗时操作 之类的
|
|
Red998Jan 11, 2023
11
频繁 gc 肯定代码中有什么大的对象 一直 GC 不掉。可以参考: https://heapdump.cn/article/1661497
|
|
sadfQED2Jan 11, 2023 via Android
12
好歹你把机器硬件配置,jvm gc 配置,代码逻辑贴上来吧。你这么问鬼知道哪里的问题啊
|