工程效能

共 10 篇 · 按时间倒序,可连读

11-10 仓库 2.1 GB、clone 要九分钟:历史瘦身与 LFS 迁移 两年时间仓库从 40 MB 涨到 2.1 GB,而工作区只有 26 MB。体积全躺在历史里:设计稿、数据库备份、误提交的 node_modules。filter-repo 四分钟重… 11-09 git bisect 两小时定位到一次提交:从 40 个候选里二分 结算回调偶发 NPE,六天四十多个提交没人认得出是哪次引入。先把偶发变必现,再把判定交给脚本做二分,两次跑偏后锁到一条「纯重构」提交。 11-08 load average 38,CPU 却空闲 71%:D 状态进程排查 8 核机器 load 38,CPU 七成空闲。vmstat 里 r=1、b=21,二十个进程堵在 IO 上。根因是备份任务冲掉页缓存,让采集服务的写退化成同步写,以及 load 告… 11-07 df 还剩 42 GB,却报 No space left on device:inode 与已删除文件 磁盘明明还有 42 GB,日志却写不进去,df -i 显示 inode 已经 100%。三百多万个小文件来自 Postfix 队列和容器日志;另一类是同名报错但 du 和 df 对… 11-06 反向代理下的重定向:Location 为什么会变成 http://host:8081/ 登录成功却跳到一个打不开的地址,Location 里带着内网端口甚至 localhost。这类问题几乎都出在三个地方:绝对 Location、漏传 X-Forwarded-*、以及… 11-05 Nginx 反向代理与 HTTPS 实战:被 X-Forwarded 坑掉的两个晚上 一次 WAF 改写 X-Forwarded-Proto,让 109 条 sitemap 全部失效。从这场真实事故出发,把反向代理与 HTTPS 的转发头逐条拆开讲。 11-05 Git 分支工作流与冲突处理:从焦虑到可逆操作 把撤销、合并、冲突处理按意图重新组织一遍,先建立四层数据模型的心智地图,让每一步操作都可回退。 11-05 CI/CD 流水线设计:从提交到上线的完整链路 一条好流水线的四个标准:快、可信、可回、可追溯。完整 GitLab CI 与 GitHub Actions 配置,以及六个最常见的反模式。 11-05 可观测性三件套:指标、日志、链路怎么串起来 有监控但查不到原因,是因为缺了「调用链耗时」这一层。四个黄金信号、结构化日志、1% 采样链路,以及告警该怎么分级。 11-05 灰度发布与回滚:把故障成本降两个数量级 影响面乘以持续时间等于故障成本。五种发布策略对比、三个灰度维度、必须提前定好的回滚判据,以及数据层的 Expand-Contract 模式。