开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

李艳鹏 / vesta-id-generatorJavaApache-2.0

指数
0
Watch 87 Star 276 Fork 126
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
Vesta是一款通用的ID产生器,互联网俗称统一发号器,它具有全局唯一、粗略有序、可反解和可制造等特性,它支持三种发布模式:嵌入发布模式、中心服务器发布模式、REST发 布模式,根据业务的性能需求,它可以产生最大峰值型和最小粒度型两种类型的ID,它的实现架构使其具有高性能,高可用和可伸缩等互联网产品需要的质量属性,是一款通用的高性能的发号器产品。 展开 收起

https://github.com/cloudatee/vesta-id-generator

性能压测报告.md 2.77 KB
一键复制 编辑 Web IDE 原始数据 按行查看 历史
Robert Lee 提交于 2018-09-30 17:41 . change the doc name

性能压测报告

回到主页

使用中有任何问题和建议,请联系罗伯特,微信: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已经到达瓶颈。

存在的问题

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

评论 ( 0 )

你可以在登录后,发表评论

搜索帮助