自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

昨日种种,皆成今我。今日种种,皆成新我。

专注 AI Agent 工程化与大模型应用开发,持续分享 Agent 接入、Tool Calling、MCP、RAG、Memory、多 Agent、工作流编排、LangGraph、FastAPI 服务化与生产部署等实战内容。

  • 博客(146)
  • 收藏
  • 关注

原创 虚拟线程上线后吞吐反而掉了:Spring Boot 3 里 synchronized 锁住载体线程的定位与修复

开启虚拟线程后吞吐不升反降,5000 并发反而输给固定线程池基线。根因是 `synchronized` 钉住载体线程,改用 `ReentrantLock` 即可解开。

2026-10-27 15:00:21 219 1

原创 K8s 探针超时设短了反而触发重启:CrashLoopBackOff 的排查路径

liveness 探针默认超时 1 秒,启动阶段健康检查持续失败,反复触发容器重启。需从集群事件定位失败原因,实测健康接口耗时后再选择修复方案。

2026-10-27 12:00:22 162

原创 Spring Boot 3 启动报循环依赖异常,为什么以前能跑的代码现在起不来

升级 Spring Boot 3 后启动即报循环依赖,常被误判为新版本的坑。其实默认禁止注入成环从 2.6 就已生效,需先复现报错并拆解注入链。

2026-10-27 09:00:21 155 3

原创 为什么 Redis 主从切换会丢锁:3 种补偿策略实测对比

主从切换丢失分布式锁,两台 Pod 同时持锁导致重复扣款。对比 WAIT、Fencing Token、幂等去重三种补偿策略的代价。WAIT 仅降低丢失概率,强一致场景仍需 ZooKeeper。

2026-10-26 15:00:21 332 3

原创 python:3.12 镜像 1.2GB,多阶段构建后只剩 95MB:省了什么丢了什么

Python 服务用全量镜像部署,体积 1.2GB,CI 构建超过 12 分钟。多阶段构建配合 slim 基底可将最终镜像压至 95MB,关键机制是只保留最后 FROM 阶段的层。

2026-10-26 12:00:26 248 2

原创 为什么给Tomcat开虚拟线程后,数据库连接反而更快被耗尽

虚拟线程拆掉了 Tomcat 的线程上限,数据库连接池会在数秒内被打满。平台线程池原本是隐式限流,可用信号量等显式背压替代它。方案适用于下游连接数固定的服务,数据库已是瓶颈时应回到查询与索引优化。

2026-10-26 09:00:26 279 3

原创 rebase后强推丢掉同事3个提交:reflog能救回来,90天以后呢

rebase 后强推覆盖同事提交,多数人以为有 90 天窗口可以找回。实际不可达条目默认 30 天过期,reflog 只在操作机器上存在。方案适用于本机短期恢复,长期依赖服务端或团队规范。

2026-10-25 15:00:26 169 4

原创 近期技术热点:从异常现象到根因定位的完整排查

深度学习训练中 loss 突变为 NaN,根因可能在数据、权重或数值精度等多个层面。按检查成本从低到高逐层排查,可定位第一个非有限值的出现位置。

2026-10-25 12:00:23 172 4

原创 MySQL 联合索引明明命中,ORDER BY 还是 filesort:3 个条件顺序踩坑复现

索引明明命中,ORDER BY 却仍 filesort,线上常被误判为索引失效。复现 RANGE 阻断、方向反序、OR 合并三种坑并给修复写法。仅适用于 8.0,ORDER BY 列需紧跟等值条件。

2026-10-25 09:00:28 176 2

原创 为什么 Spring Boot 3 的虚拟线程没让接口变快:JDK 21 pinning 排查记录

启用虚拟线程后接口吞吐不升反降,根因是请求路径上的native方法调用导致pinning。用tracePinnedThreads定位后将文件I/O迁移到NIO API即可解决。

2026-10-24 15:00:28 347 2

原创 开虚拟线程后接口反而更慢:JDK 21 synchronized 锁住载体线程的排查

虚拟线程开启后接口反而变慢,JDK 21 中被争用的 synchronized 钉住载体线程。并发坍缩到 CPU 核心数,换 ReentrantLock 可恢复。

2026-10-24 12:00:26 276 2

原创 为什么把 Xmx 调大之后,Pod 反而更早被 OOMKilled

容器 limit 固定时调大 -Xmx,反而更早 OOMKilled。预算模型拆解堆与非堆对 cgroup 额度的竞争,读数与示例定位根因。适用于堆外占用可测、limit 无法扩大的场景。

2026-10-24 09:00:29 99 2

原创 近期技术热点:从异常现象到根因定位的完整排查

训练时 loss 变 NaN,降学习率或加梯度裁剪往往只掩盖根因。NaN 可拆解为数据、前向输出、梯度、优化器状态四个来源,逐环节检查即可定位。

2026-10-23 15:00:24 223 2

原创 一条 MySQL 慢查询排查:我先后建了 4 个索引,只有一个真正生效

给 500 万行订单表建索引时,常见误区是给每个 WHERE 列都建单列索引。MySQL 通常只用一个索引,需要的是等值列在前、范围列在后的联合索引。

2026-10-23 12:00:26 269 2

原创 生产环境 Tomcat 200 线程跑满并报连接池超时:一次虚拟线程阻塞点排查

开启虚拟线程后线程告警消失,HikariCP 连接池超时却更早出现。先用 JFR 事件排除 `synchronized` 阻塞,再按并发预算重算连接池容量。

2026-10-23 09:00:26 310 2

原创 5000万行表建了索引查询还超时:EXPLAIN ANALYZE 定位三个误判

索引存在、计划选了索引,5000万行表查询仍超 3 秒。EXPLAIN ANALYZE 对照估算与实际,可定位统计、类型与选择性三类误判。该方法仅适用于可复现的查询,且需评估额外执行开销。

2026-10-22 11:44:01 208 3

原创 近期技术热点:从异常现象到根因定位的完整排查

训练中显存持续攀升最终触发 OOM,常被误判为模型过大或缓存异常。本文从计算图引用机制出发,给出现象区分、张量统计到根因定位的排查链路。该方法适用于引用保留型泄漏,不解决工作集超出显存的场景。

2026-10-22 11:00:23 309 2

原创 Kafka 重复消费定位:同一消息被消费两次的 3 条触发路径与幂等验证

Kafka 重复消费可能导致资金重复扣减等业务故障。复现三条触发路径并对比 MySQL 与 Redis 幂等方案,给出可运行示例。适用于已确认重复来源的消费端场景,不适合高吞吐实时管道。

2026-10-22 08:30:27 524 2

原创 索引明明建对了,MySQL 8.0查询却走全表:WHERE里套函数的代价实测

线上接口突然变慢,慢查询日志里出现 DATE() 包裹索引列的写法,EXPLAIN 显示全表扫描。用 EXPLAIN ANALYZE 实测范围改写与函数索引两种修复的代价差异,并给出版本对照。

2026-10-21 13:30:27 79 3

原创 Redis 内存涨到 80%:Spring Boot 缓存漏设 TTL 的排查与修复

Spring 缓存未设 TTL,Redis 键永不过期、内存持续上涨。从内存采样逆向定位到缺省配置,按缓存名注入差异化 TTL 完成修复。方案仅对新键生效,存量无 TTL 键需单独清理。

2026-10-21 11:00:24 170 2

原创 MySQL 8.0 联合索引只命中前两列,EXPLAIN 却显示全表扫描

联合索引满足左前缀却走全表扫描,慢查询排查经常被误判为索引失效。以 MySQL 8.0 成本模型与 EXPLAIN 输出为依据,区分优化器正确决策和统计信息过期两类根因。

2026-10-21 08:30:23 230 3

原创 规范全塞进 CLAUDE.md 后 agent 反而更爱跑偏?superpowers 改成按需加载的技能

团队规范全写进 CLAUDE.md 后,无关规则挤占上下文,agent 反而无视关键边界。superpowers 把规范拆成 skill 按需加载,同一任务只拉相关条目,遵守率回升。

2026-10-20 17:00:25 137 3

原创 加了Cookie yt-dlp仍报HTTP 403:3个容易漏的请求头差异

yt-dlp 配了 Cookie 仍报 403,常因请求头未补齐。用 curl 逐头减法可区分 403 在会话层、头层还是鉴权层。站点接口变动后需重新验证头组合,URL 签名型接口补头无效。

2026-10-20 14:00:26 249 2

原创 yt-dlp 线程开到 16 反而更慢:1000 个视频的实测与限速原因

并发拉到16批量下载反而更慢,根因是服务端按IP限速而非带宽不足。从格式选择器、线程叠加与分离流合并三条排查线定位触发条件。适合一次性批量归档,不适合追求极速或高频拉取场景。

2026-10-20 11:00:25 186 1

原创 Claude Code 切换中转站后 401 不断:先查环境变量覆盖顺序

切换中转站后 `claude` 反复 401,多因后加载的赋值覆盖了刚改的密钥。脚本自发现打印进程环境与各启动文件赋值行,再用 `env -i` 二分定位覆盖来源。

2026-10-20 08:00:20 566 3

原创 Cursor找不到的SQL表和PDF文档,Graphify建图后一次查询全定位

新增 SQL 或 PDF 文档后,向量索引滞后让 AI 答非所问。Graphify 以 AST 确定性建图,单次查询穿透代码、SQL 与文档。

2026-10-19 17:00:21 362 3

原创 Skill 数量从 5 加到 30,Agent 响应变慢的真正原因

Skill 加到 30 后简单提问也要等五秒,膨胀源自系统提示词。用 tiktoken 脚本量化预填充开销,拆解路由二次延迟。缓解靠分层加载与关键词路由,模糊的 Skill 不宜常驻提示词。

2026-10-19 14:00:20 206 2

原创 RAG还是AST图谱?把30万行仓库建成可查询图谱的真实代价

纯向量 RAG 做仓库级问答时,跨文件调用链检索经常拼错且不易察觉。用 AST 图谱把定义与调用建为带来源标注的边,可直接遍历回答调用链。但动态导入等静态盲区仍需人工验证,不能只信确定性。

2026-10-19 11:00:19 364 1

原创 Claude Code Skills 放对目录却不生效:插件启用顺序与缓存的三个坑

Skill 放对目录仍不生效是静默失败,常被误判为模型问题。本文复现目录冲突、frontmatter 缺失与 instincts 抢占三种失败,用日志确认加载。

2026-10-19 08:00:20 552 3

原创 ComfyUI 多工作流跑起来显存直接爆:Swap 策略实测省下 3GB

多工作流排队跑 ComfyUI 时显存峰值超限,进程被系统 OOM 直接杀掉,任务中断。把峰值拆成上下文、常驻权重、单步激活三段,用 swap 搬走常驻权重并双口径采样验证。

2026-10-18 17:00:19 152 3

原创 RAG 接 Firecrawl 抓网页被反爬,换 map 接口成本降一半

接 Firecrawl 全量 crawl 后,反爬空页与积分超支接连出现。改用 map 发现 URL、筛选后定向 scrape,成本与拦截率下降。

2026-10-18 14:00:20 237 2

原创 近期技术热点:从异常现象到根因定位的完整排查

多卡训练卡死却无报错无输出,是分布式排查中最棘手的故障。先注入超时让沉默开口,再逐 rank 打印步数定位差异,依据是梯度同步的阻塞语义。

2026-10-18 11:00:17 183 1

原创 先灌原文再清洗更省事?网页 HTML 直接入 RAG 的召回代价

跳过清洗把网页 HTML 直接入库,省的是管道时间,赔的是召回率。同一渲染页对照两条路线,用 BM25 召回率和 token 总量算清代价。静态营销页可以省,表格规格页与含脚本状态页必须清洗后再切块。

2026-10-18 08:00:20 124 2

原创 统一管理5个编码代理反而更乱?cc-switch配置隔离机制的边界

多编码 CLI 手工切换供应商易改坏环境变量,导致 Key 失效。cc-switch 将切换写入各 CLI 原生配置,隔离落在文件层。已启动的进程不热重载,多代理并行启动场景不适用本方案。

2026-10-17 17:00:17 51 2

原创 用MoneyPrinterTurbo生成10条短视频,失败多半不在大模型而在TTS选型

批量出片常见无声与渲染失败,末端报错误导排查方向,真因多在TTS。先用ffprobe单独验证音频有效性,再比较云端与本地方案的配额和依赖。适用于Python流水线排查,已确认音频有效的调参不必套用。

2026-10-17 14:00:20 307 2

原创 ohmyzsh 装了 20 多个插件后终端卡 3 秒,慢的不是主题而是 compinit 缓存

装 20 多个插件后新开终端约卡 3 秒,多数人先怀疑主题太花。用 `time`、`zprof` 分层计时,把补全初始化与插件加载拆开归因。结论只在同一环境快照下有效,实测指向插件加载就换排查路线。

2026-10-17 11:00:18 183 1

原创 transformers 升级后加载旧权重报错:三处不兼容如何逐一验证

升级后加载旧权重报错,配置、定义与张量的失败混杂,难以归因。将一次加载拆成三层逐段验证,让中断位置直接指出不兼容所在。仅凭单一仓库来源,不给出版本级结论,需回仓库核对实现。

2026-10-17 08:00:16 83 2

原创 Claude Code 装了一堆 Skill 后变慢还跑偏?我实测了 ECC 的取舍

Skill 挂多了,Claude Code 会变慢且容易跑偏。我在同仓库对比了裸配置与 ECC 的耗时和 token 消耗。ECC 适合 Skill 多且冲突频发的团队,小仓库不必引入。

2026-10-16 17:00:16 120 2

原创 Ollama 回答总在 4096 字被截断:num_ctx 改了却不生效的排查路径

大模型回答总在 4096 处截断,改了 `num_ctx` 却不生效。用 `curl` 对照请求定位参数覆盖层级,追查谁在覆盖它。

2026-10-16 14:00:16 117 2

原创 Dify会话回复从2秒拖到15秒,四个瓶颈逐个复现

Dify接入RAG后会话从2秒拖到15秒,延迟由多层瓶颈叠加造成。先用短问题与RAG问题的计时差分离检索和生成延迟,再逐层定位瓶颈。结论适用于小团队单实例部署,集群多副本环境需重新测量。

2026-10-16 11:00:15 214 1

空空如也

springboot错误

2023-11-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除