10,000 并发压测:Virtual Threads vs 线程池——5 个场景的真实数据对比
引言 社区都说虚拟线程(Virtual Threads)是"性能革命",JDK 21 GA 后无数文章吹爆: "Virtual Threads 让你的吞吐提升几十倍!" "线程池要被淘汰了!" "100 万并发不是梦!" 但真到自己落地时,发现一堆疑问: 我们的业务场景到底能不能提升? CPU 密集场景到底有没有用? 线程池调到 500 够不够,虚拟线程真的完爆它吗? 高并发短任务和长连接场景表现一样吗? 光看官方 Benchmark 没用,得自己压一遍。这篇文章我用 10,000 并发,在 5 个真实业务场景下,对三种方案做横向对比: 传统线程池(200 线程) 传统线程池(500 线程) Virtual Threads 每种场景压 10 分钟,记录 QPS、P99 延迟、CPU、内存。看完这篇,你会清楚知道你的场景该不该上虚拟线程。 一、压测方案设计 1.1 测试环境 项目配置 CPU8 核 16 线程(Intel i7-12700H) 内存32GB DDR4 JDKOpenJDK 21.0.2 应用Spring Boot 3.2 + Virtual Thre....