标签: performance
与该标签相关的所有文章 "performance".
-
Go 服务:容量评估与扩容决策
Go 服务本身几乎不是瓶颈(纯 CPU 可达 10 万+ RPS),真正的瓶颈在数据库查询、RPC 调用等 I/O。决策核心是:用 CPU 利用率 × P99 延迟的组合判断该优化代码还是加机器,用连接池指标定位隐藏瓶颈。
-
GORM(三):生产环境最佳实践
GORM 在生产环境中最常翻车的地方不是功能缺失,而是默认行为与开发者直觉不一致:零值更新被吞、Session 条件污染、软删除隐式过滤、连接池耗尽。本篇系统梳理连接池四参数调优公式、Logger/PreparedStmt/DBResolver 配置、12 个真实生产陷阱(附正反代码)、性能优化策略、以及 GORM/sqlc/sqlx/Ent/Bun 五种方案的选型决策矩阵。
-
Go 基础:正则表达式、自动机与 regexp 的线性时间保证
正则表达式的核心分歧在引擎实现:backtracking 引擎(PCRE/Java/Python/JS)用递归回溯,最坏指数时间,存在 ReDoS 风险;automata-based 引擎(RE2/Go regexp)用 NFA/DFA 模拟,保证线性时间,但牺牲了 backreference 和 lookaround。Go 的 regexp 包基于 RE2,选择了安全和可预测性,代价是表达力略弱。理解引擎原理比记语法重要得多。
-
Go 运行时(二):并发三色标记清除收集器
Go 使用并发、非移动、三色标记清除垃圾收集器。设计哲学是用内存换低延迟(STW < 1ms),只暴露两个调参旋钮(GOGC + GOMEMLIMIT)。Go 1.26 起默认启用 Green Tea GC,marking 阶段性能提升 10-40%。