选 UUIDv4、UUIDv7 还是 ULID 当主键,真正在选的只有键宽和同一毫秒内有没有顺序。InnoDB 上一个写入者时递增键少近四成的页,四个写入者只剩两成、文本主键反而更差;按主键范围分片的库上递增变成写热点,按 hash 分布的库不看这一项。
Posts for: #performance
分页查询慢了 40 秒:两张明细表同层 JOIN 乘出 396 万行,聚合又压回 1,220 行
两张明细表只共享半个唯一键,同层 JOIN 之后才聚合,分页接口那 40 秒慢查询就出在中间被 DISTINCT 压回去的那些行上;拆成三步后这组参数下结果逐行一致。
Confluent Kafka topic 该分多少分区:按业务规模算,再对成本和连接数
Confluent Kafka 的 topic 分区数按当前业务规模假设算了一轮,起步先按 12 个分区配置。
Java 25 on Kubernetes:默认配置未必适合容器
Java 25 跑在 Kubernetes 上,默认堆只用了 25%,CPU 节流的影响也比预期大,这几组实验数据和值得优先验证的配置项放在一起。
K8s CPU 配置:requests/limits 各管什么、Throttling 怎么发生、谁先被驱逐
结合 Homelab 场景整理 Kubernetes 的 CPU requests/limits、CFS throttling、QoS 类别与节点压力驱逐机制,以及我当前采用的资源配置思路。
Spring Boot 3.5 的 h2c 会不会比 HTTP/1.1 快:两个压测实验的结论
围绕 Spring Boot 3.5、JDK HttpClient 和 h2c,我做了一次完整压测:先观察 h2c 不会天然更快,再设计一个 0 错误的正例,展示它在特定场景下为什么会比 HTTP/1.1 更占优。
Spring Boot 3 开启 HTTP/2:h2 和 h2c 在什么场景下更合适?
想给 Spring Boot API 加速?来聊聊 HTTP/2 的两种模式:带加密的 h2 和“裸奔”的 h2c,看看在微服务里怎么配置和避坑。
Spring Boot Integration Test Optimization Practice
集成测试阶段跑了约 4:02,慢在容器和 schema 的反复准备;统一复用 Testcontainers、按 schema 隔离数据库后降到 2:50,共享 MySQL 那步还冒出过等待超时。