老废物乐园 瓜子的技术笔记 · Java / AI / 金融科技

AI 负载下 JVM 调优的新范式

给 AI 服务调 JVM,我原来的经验全部失效了 我做 JVM 调优大概六年,给订单、支付、库存这些服务调过不下三十次,形成了一套肌肉记忆:Young 区给 1/3,MaxGCPauseMillis 设 100,开字符串去重,老年代增长超过 50 MB/min 就要警惕。 2025 年下半年开始接

遥望星星 遥望星星 发布于 2025-11-04

AI 应用下的 JVM 内存特征与调优

把 AI 服务压到 3000 QPS 之后,GC 曲线完全变了 我们有个文档问答服务,跑在 JDK 21 + G1 上,原来堆 4G,Young 区 1.2G,日均 800 万次调用,GC 表现平平无奇:Young GC 每 8 秒一次,单次 25ms 左右,Full GC 一周见不到一次。 八月份

遥望星星 遥望星星 发布于 2025-04-27

Project Leyden 与 Java 启动性能的未来

冷启动 4.2 秒,函数计算按毫秒计费 我们有一部分服务跑在函数计算上(内部 FaaS 平台),按实际运行时间计费。其中一个是文档解析入口,Spring Boot 3.5 应用,冷启动实测 4.2 秒——也就是说每次冷启动,用户先付 4.2 秒的钱,其中真正干活的只有不到 1 秒。 去年我们试过 G

遥望星星 遥望星星 发布于 2025-02-05

容器环境下 JVM 内存配置的正确姿势

一个服务在 K8s 里跑得好好的,突然被重启,看 Pod 事件只有一行 OOMKilled。我第一反应是"堆不够了",加了 -Xmx 之后反而重启更频繁。后来才明白,我搞混了两种 OOM。 两个 OOM 不是一回事 JVM 的堆 OOM(java.lang.OutOfMemoryError: Jav

遥望星星 遥望星星 发布于 2023-08-12

Spring 循环依赖与 AOT 的冲突

为了启动快,走上 GraalVM 原生镜像 FaaS 场景下单实例冷启动 4 秒太慢,用户第一次请求要等很久。我们想用 GraalVM 把订单服务编译成原生镜像,目标启动 50ms 内。Spring Boot 3 的 AOT 引擎能提前做大部分 Bean 的初始化分析,理论上开箱即用。可一上来就卡在

遥望星星 遥望星星 发布于 2023-03-17

GraalVM 原生镜像:Spring Boot 启动从 3 秒到 0.1 秒

冷启动 3 秒,Serverless 上却要等 30 秒 我们的一个图片处理函数被搬上了函数计算(FaaS),按调用计费、闲置回收。问题来了:JVM 冷启动要 3 秒,加上函数平台拉镜像、建实例,一次冷启动用户要等 30 秒以上,体验很差。同事问能不能"像 Go 那样秒起"。我试了 GraalVM

遥望星星 遥望星星 发布于 2022-12-10

Spring Boot 原生镜像实战:构建 50MB 的可执行文件

背景:一次冷启动慢到被运维吐槽 五月初我把一个内部配置中心客户端容器化,K8s 里副本从 0 扩容到 10 时,启动要 8 秒多,滚动发布期间总有几秒请求打不到。运维说你这 Java 应用太重了。我琢磨着试一把 Spring Boot 3 的原生镜像——GraalVM 把应用直接编译成机器码,启动该

遥望星星 遥望星星 发布于 2022-09-13

JDK 21 分代 ZGC:为什么停顿能低到 1 毫秒

读源码的动机:1 毫秒停顿到底是什么换来的 五月的 JDK 21 EA build 里,分代 ZGC 已经能跑了。官方说停顿能控制在 1 毫秒内。我好奇的是——不分代的 ZGC 已经够强,为什么还要分代?翻了 GC 源码和 JEP 439,才把这件事想明白。 分代假设:大多数对象活不过第一轮 分代回

遥望星星 遥望星星 发布于 2022-09-06

Spring Framework 6 新特性与 AOT 支持

为什么关心 AOT Spring Boot 3.0 刚出,主打对 GraalVM 原生镜像的支持。我们一个网关侧边车想压启动时间,原来 JVM 冷启动要 2 秒多,在弹性伸缩场景里每次扩容都得等,想试试原生镜像能不能降到几百毫秒。决定试 AOT 之前,我先把"AOT 到底是什么"搞清楚,不然很容易把

遥望星星 遥望星星 发布于 2022-04-13

JVM TI 与字节码增强:Arthas 背后的技术

「Arthas 凭什么不用改代码就能看到方法耗时」 2 月初排查一个慢接口,我用 Arthas 的 trace 打出了每一层调用的耗时。旁边一个刚工作两年的同事看完很惊讶:我们没加任何埋点,也没改代码,它怎么知道每个方法花了多久? 这个问题一两句话讲不清楚,正好我那几天在给公司内部的压测平台做一个无

遥望星星 遥望星星 发布于 2021-05-29