【Netty源码解读和权威指南】第63篇:Netty压测与性能基准——Wrk/JMH实战测量吞吐量 📅 2026/6/25 22:28:52 上一篇【第62篇】Netty生产环境部署——Linux最佳配置指南下一篇【第64篇】Netty生产问题排查——OOM/CPU飙高/连接泄漏全解析一、Wrk压测# Echo服务器压测wrk-t12-c1000-d60s http://localhost:8080/echo# 结果解读Running 60stest http://localhost:8080/echo12threads and1000connections Thread Stats Avg Stdev Max /- Stdev Latency2.15ms1.23ms15.67ms89.23% Req/Sec38.42k5.64k52.33k72.00%27584200requestsin60.00s,2.34GBreadRequests/sec:459736.67←45万QPS Transfer/sec:39.94MB二、JMH微基准测试BenchmarkMode(Mode.Throughput)OutputTimeUnit(TimeUnit.SECONDS)State(Scope.Thread)publicclassNettyBenchmark{privateByteBufbuf;Setuppublicvoidsetup(){bufPooledByteBufAllocator.DEFAULT.buffer(1024);buf.writeBytes(newbyte[1024]);}BenchmarkpublicvoidtestReadByte(){buf.readerIndex(0);while(buf.isReadable())buf.readByte();}BenchmarkpublicvoidtestWriteByte(){buf.clear();for(inti0;i1024;i)buf.writeByte(0);}TearDownpublicvoidtearDown(){buf.release();}}三、性能瓶颈定位# CPU飙高排查top-H-ppid# 查看线程CPUjstackpid# 打印线程栈# GC问题排查jstat-gcpid1000100# 实时GC监控# 内存泄漏jmap-histo:livepid|head-20# 查看存活对象四、连接数与吞吐量关系连接数QPSCPU瓶颈10050,00020%无1,000200,00045%无10,000350,00070%CPU50,000380,00085%CPUGC100,000400,00095%CPU结论10万连接后线性增长停止CPU成为瓶颈。上一篇【第62篇】Netty生产环境部署——Linux最佳配置指南下一篇【第64篇】Netty生产问题排查——OOM/CPU飙高/连接泄漏全解析