高并发 ≠ 高负载:很多工程师搞错了 10 年

什么是高并发

高并发,指的是单位时间内同时到达或同时被处理的请求数量很大。

高并发 ≠ 高负载:很多工程师搞错了 10 年-mikechen

核心关注点:

并发请求数(Concurrency);

QPS / TPS;

连接数、线程数、协程数;

典型场景:

秒杀、抢购、红包雨;

热点接口突发流量;

高峰期 API 请求暴涨;

 

什么是高负载

高负载,指的是系统资源长期处于高占用状态。

高并发 ≠ 高负载:很多工程师搞错了 10 年-mikechen

核心关注点:

CPU 使用率;

Load Average

内存占用、GC 压力;

IO 等待、磁盘/网络吞吐;

典型场景:

慢 SQL;

Full GC 频繁;

大量同步阻塞 IO;

 

为什么“高并发 ≠ 高负载”

高并发 ≠ 高负载:很多工程师搞错了 10 年-mikechen

可以“高并发、低负载”:请求极其简单,靠缓存 + 水平扩展很好撑住,机器资源仍然比较空闲。

也可以“低并发、高负载”:每个请求都做复杂计算或大表全表扫描,少量请求就能打满 CPU/IO。

真正的工程错误在于:

把 CPU 高误认为是“并发不够扛”,盲目加机器,而业务本质是单请求太重。

把连接数很多误认为“负载太高”,一味调大线程池,却没设计限流/排队,反而拖垮系统。

正确的思路:先分清,再设计。

如果是高并发问题:

做好限流、降级、排队,把洪峰变成可控的流量。

如果是高负载问题:分析热点资源(CPU、内存、IO),针对性做 profiling 和优化。

评论交流
    说说你的看法