Go 并发锁的性能陷阱:从 sync.Mutex 到自旋锁的实战调优
一个看似简单的并发 Map 访问,在高并发下性能骤降。pprof 显示 90% 的时间花在 sync.Mutex.Lock。这篇文章记录问题排查过程,以及不同锁策略的性能对比。
一个看似简单的并发 Map 访问,在高并发下性能骤降。pprof 显示 90% 的时间花在 sync.Mutex.Lock。这篇文章记录问题排查过程,以及不同锁策略的性能对比。
NAS 产品的用户体验有一个关键指标:从按下电源到可以访问共享文件夹,需要多长时间?我们的目标是 30 秒内完成,而原始方案需要 75 秒。这篇文章记录了从 75 秒优化到 30 秒的完整过程。
在 NAS 产品中,我需要开发一个 7×24 小时运行的系统守护进程,负责磁盘健康监控和自动任务调度。这篇文章记录了开发过程中的关键技术点:信号处理、优雅退出、热重载配置。
NAS 最重要的职责是保护用户的数据。磁盘故障前往往有预警信号,SMART 技术能提前发现问题。这篇文章记录了如何开发一个磁盘健康监控 Agent。
LeetCode 的 atoi 是经典面试题,但生产级的实现远比面试版本复杂。这篇文章从面试版本出发,逐步分析 Go 和 Rust 标准库的实现,理解"生产级"代码的设计思想。
Go 1.18 终于带来了泛型。在 NAS 项目中,我们用泛型重构了多个通用模块。这篇文章记录真实的收益、踩坑经历,以及我们总结的最佳实践。