请问大家用起来了吗?效果如何?对比 G1 的 CPU overhead 如何?
![]() | 1 hakr 2024-04-03 14:00:05 +08:00 jdk17 默认的 |
2 salmon5 2024-04-03 14:09:32 +08:00 jdk21 带的 分代 zgc(java -XX:+UseZGC -XX:+ZGenerational)还没用上;在用 jdk17 默认的 g1gc 。 估计要等下一个 LTS jdk25 发布后,jdk21 才逐步流行。 |
3 ex1gtnim7d 2024-04-03 14:24:13 +08:00 小白想问下什么岗位的 java 工程师会需要关注垃圾回收 |
![]() | 4 displayabc 2024-04-03 14:35:08 +08:00 ![]() @kerb15 不用什么岗位,稍微有点追求的 java 工程师,都会关注垃圾回收 |
![]() | 5 lstz 2024-04-03 14:43:59 +08:00 via Android zgc 久仰大名,用起来也确实是流畅不少 建议 jetbrains IDE 配上 zgc |
![]() | 6 ilovey482i 2024-04-03 14:56:32 +08:00 万年的 java8 ,这些都用不上 |
7 cnbatch 2024-04-03 15:06:31 +08:00 |
![]() | 8 andyskaura 2024-04-03 15:12:27 +08:00 @kerb15 迟早会碰到 gc 问题的。开发过程中不关注 gc ,等真碰上了,短时间内就只能抓耳挠腮,无可奈何。 |
10 wysnxzm 2024-04-03 15:22:37 +08:00 |
![]() | 11 bingoup886 2024-04-03 15:30:38 +08:00 线上百万 qps 基建服务,已经用上一年了,真香 |
![]() | 12 urlk 2024-04-03 15:52:22 +08:00 @bingoup886 #11 什么项目这么牛, 百万 qps . |
![]() | 13 brom111 2024-04-03 15:54:40 +08:00 |
14 zzmark06 2024-04-03 15:59:24 +08:00 via Android @shenjinpeng 大概率业务网关、采集、资源下发 高吞吐下 zgc 省心,下限高。g1 上限更高,下限却不怎样 |
15 PythonYXY 2024-04-03 16:09:21 +08:00 服务还是跑的 java11 ,之前升级到 zgc ,发现类卸载有问题所以又退回到 G1 了 |
![]() | 18 bingoup886 2024-04-03 17:19:10 +08:00 @shenjinpeng 你可以类比成用户中心,本来调用量 200W 了,用 trace 透传优化了一下重复调用现在 80W |
19 lmshl 2024-04-03 17:35:15 +08:00 上生产了,童叟无欺 ``` env: - name: JAVA_OPTS value: "-Dconfig.file=/app/application.conf -XX:+UseZGC -XX:+ZGenerational" ``` |
20 mtmax 2024-04-03 23:33:04 +08:00 @bingoup886 trace 透传优化 怎么理解? |
![]() | 21 hepin1989 OP 我还在 beta 中,前面堆设置大了,crash 了,重新改了个设置。比 G1 用的多是真的,准备多跑一段时间再切换。 @bingoup886 感谢分享,单机 qps 多少?单机的 overhead 应该比之前消耗高吧。 现在主要是降本增效的前提下感觉和这个 ZGC 相冲。 |
![]() | ![]() @hepin1989 单机 qps4k ,cpu 和 load 都会比原来高一点,但我们是基础服务,为了满足性能要求机器部署的本来就多一点,原本 overhead 就很低,现在反而是提升了资源利用率了 |
![]() | 23 hepin1989 OP @bingoup886 所以说同步提高了服务质量。那么你这边观察下来多了多少个百分点呢? |
![]() | 24 bingoup886 2024-05-09 10:07:04 +08:00 @hepin1989 tp999 tp9999 减半,40ms 的调用超时配置下,失败率降为原来十分之一 |
![]() | 25 bingoup886 2024-05-09 10:08:44 +08:00 @mtmax 假设一个 trace 中多级调用,每一级都需要获取用户的路由信息,就在第一层 rpc 调用获取完之后放进 traceContext ,通过全链路 trace 透传能力进行复用。 |