Debian 上优化 Golang 性能
一 编译器与构建优化
二 运行时与并发调优
三 性能分析与定位
四 系统级与开发构建环境优化
五 场景化速查表
| 场景 | 关键动作 | 常用命令或参数 |
|---|---|---|
| 生产构建提速与瘦身 | 并行编译、缓存、去调试信息、去路径、可选压缩 | go build -p “$(nproc)” -ldflags “-s -w” -trimpath;export GOCACHE=/tmp/go-cache;upx --best --lzma |
| CPU 密集服务 | 合理 GOMAXPROCS、减少分配、优化热点函数 | GOMAXPROCS=$(nproc);sync.Pool;strconv 替代 fmt;pprof 找热点 |
| IO 密集服务 | 限制 Goroutine 数量、连接池与超时、批处理 | 工作池/限流;pprof 阻塞分析 |
| 编译慢 | 启用缓存、并行、依赖镜像、拆分包 | go env -w GOCACHE=…;go build -p “$(nproc)”;go clean -modcache;模块拆分 |
| 延迟抖动排查 | 追踪调度与系统调用 | runtime/trace 采集与分析 |