java21 的一波压测

2023-09-26 11:34:12 +08:00
 ebony0319

最近为保障活动做了一些压测,顺便测了一下 java21. 先说下资源情况:1Pod ,2 核 2G 业务场景,从 redis 查询一个 json 然后返回,json 相对较大。

先说下 openresty 的情况:没有请求 redis 的情况下可以到 5W ,加了了业务场景稳定在 1.2W-1.3W 样子。

现在回到 java21 ,写法比较简单,直接用原生 HttpServer 结合虚拟线程。加入业务场景,下面是压测的数据:

第一波没有使用虚拟线程大概 1000:


上虚拟线程

99.8%成功率 6 千

99.59%成功率 7 千

99.43%成功率 8 千

99.31%成功率 9 千

99.09%成功率 1 万

到这里我就没有继续压了。因为 cpu 已经满了。 看下 1w 资源占用情况:

未来可期

2904 次点击
所在节点    Java
9 条回复
ebony0319
2023-09-26 11:47:08 +08:00
压测工具是阿里云的 PTS ,数据比较真实。
winglight2016
2023-09-26 15:25:19 +08:00
没有试一下 springboot webflux 下的性能吗?毕竟这个场景更常见
ebony0319
2023-09-26 15:45:23 +08:00
@winglight2016 以后有空用 Netty 结合虚拟线程来一波试一下
ebony0319
2023-09-26 15:46:11 +08:00
@winglight2016 springboot webflux 要 spring 那一套,我只是想看下语言特性而已😊😊
salmon5
2023-09-26 17:03:56 +08:00
这就叫专业
liuhai233
2023-09-26 22:35:06 +08:00
虚拟线程好猛啊
xingjue
2023-09-27 09:52:32 +08:00
go 协程 完美支持了
ysy950803
2023-09-27 14:29:51 +08:00
这个虚拟线程是不是和 Kotlin 的协程一样的底层实现?
yty2012g
2023-09-28 12:20:58 +08:00
我本来想尝试改造 spring mvc 到 spring webflux ,奈何各种 servlet 的 api 都要重新搞,工作量过大而放弃了😂😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/977213

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX