Skip to content

Latest commit

 

History

History
executable file
·
86 lines (55 loc) · 2.77 KB

性能压测报告.md

File metadata and controls

executable file
·
86 lines (55 loc) · 2.77 KB

性能压测报告

回到主页

使用中有任何问题和建议,请联系罗伯特,微信:13436881186


测试环境

笔记本,客户端服务器跑在同一台机器 双核2.4G I3 CPU, 4G内存

嵌入发布模式

设置:

**并发数:**100

测试结果:

测试 测试1 测试2 测试3 测试4 测试5 平均值/最大值
QPS 431000 445000 442000 434000 434000 437200
平均时间(us) 161 160 168 143 157 157
最大响应时间(ms) 339 304 378 303 299 378

中心服务器发布模式

设置:

**并发数:**100

测试结果:

测试 测试1 测试2 测试3 测试4 测试5 平均值/最大值
QPS 1737 1410 1474 1372 1474 1493
平均时间(us) 55 67 66 68 65 64
最大响应时间(ms) 785 952 532 1129 1036 1129

REST发布模式 - Netty实现

设置:

**并发数:**100 **Boss线程数:**1 **Workder线程数:**4

测试结果:

测试 测试1 测试2 测试3 测试4 测试5 平均值/最大值
QPS 11001 10611 9788 11251 10301 10590
平均时间(ms) 11 11 11 10 10 11
最大响应时间(ms) 25 21 23 21 21 25

REST发布模式 - Spring Boot(Tomcat)

设置:

**并发数:**100 **Boss线程数:**1 **Workder线程数:**2 **Exececutor线程数:**最小25最大200

测试结果:

测试 测试1 测试2 测试3 测试4 测试5 平均值/最大值
QPS 4994 5104 5223 5108 5100 5105
平均时间(ms) 20 19 19 19 19 19
最大响应时间(ms) 75 61 61 61 67 75

性能测试总结

  1. 根据测试,Netty服务可到达11000的QPS,而Tomcat只能答道5000左右的QPS。
  2. 嵌入发布模式,也就是JVM内部调用最快,没秒可答道40万以上。可见线上服务的瓶颈在网络IO以及网络IO的处理上。
  3. 使用Dubbo导入导出的中心服务器发布模式的QPS只有不到2000, 这比Tomcat提供的HTTP服务的QPS还要小,这个不符合常理,一方面需要查看是否Dubbo RPC需要优化,包括线程池策略,序列化协议,通信协议等,另外一方面REST使用apache ab测试,嵌入式发布模式使用自己写的客户端测试,是否测试工具存在一定的差异。
  4. 测试过程中发现loopback虚拟网卡达到30+M的流量,没有到达千兆网卡的极限,双核心CPU占用率已经接近200%,也就是CPU已经到达瓶颈。

存在的问题

参考性能测试总结第三条,中心服务器的性能问题需要在下一个版本跟进和优化。