Skip to content

性能优化

性能优化是服务端开发的核心能力,通过减少延迟、增加吞吐、降低资源消耗,提升用户体验和系统容量。

性能指标

吞吐量

吞吐量是单位时间处理的请求数,常用 QPS 或 RPS 表示。

延迟

延迟是请求的处理时间,常用 P50、P95、P99 表示。

资源使用率

CPU、内存、磁盘、网络的使用百分比。

性能分析

CPU 分析

工具:top、htop、perf、火焰图。

瓶颈:算法复杂度、不必要的计算、锁竞争。

内存分析

工具:free、valgrind、pprof。

瓶颈:内存泄漏、缓存过大、对象过多。

I/O 分析

工具:iostat、iftop、strace。

瓶颈:磁盘慢、网络慢、系统调用过多。

锁分析

工具:perf lock、pstack、JStack。

瓶颈:锁粒度大、锁持有时间长、热点锁。

性能优化策略

缓存

内存缓存(Redis)、本地缓存(Caffeine)、CDN 缓存、浏览器缓存。

批处理

批量插入、批量查询、批量更新。

异步处理

消息队列、后台任务、事件驱动。

连接池

数据库连接池、HTTP 连接池、Redis 连接池。

性能测试

压测

压测工具:ab、wrk、JMeter、Locust。

压测指标:QPS、延迟、错误率、资源使用率。

基准测试

基准测试工具:Go benchmark、JMH、pytest-benchmark。

注意事项:预热、多次运行、环境一致、统计显著性。