再来一波 jdk21 生产环境项目真实压测数据

362 天前
 ebony0319

先说下结论

单 pod ,4 核 8G 的情况下,接口压测可以到 6W TPS. 用 JdbcTemplate 查询的数据库。数据表大小 > 20 亿,这里跟索引的大小有关系,正常情况下可以到 1.1 万样子,数据量小的时候可以到 5w(这里我不敢发),sql 走了联合索引,sql 大概是

select b,status where member_id=1 and b in (11111,22222,3333)

压测图展示

在此过程中我遇到的问题

在开启虚拟线程下,Hikari 表现非常糟糕。 https://github.com/brettwooldridge/HikariCP/issues/2151

为了解决这个问题,我是将 spring.threads.virtual.enabled=false,并且手动开启 tomat 的来解决的。

@Bean
 @ConditionalOnProperty(prefix = "server.tomcat.threads.virtual", name = "enabled", havingValue = "true")
public TomcatProtocolHandlerCustomizer<?> protocolHandlerVirtualThreadExecutorCustomizer() throws LifecycleException {
        StandardVirtualThreadExecutor standardVirtualThreadExecutor = new StandardVirtualThreadExecutor();
        standardVirtualThreadExecutor.start();
        return protocolHandler -> protocolHandler.setExecutor(standardVirtualThreadExecutor);
    }

大致情况就是这样,大家有兴趣可以一起交流。

2502 次点击
所在节点    Java
16 条回复
drupal
362 天前
这数据很了不起了
lsk569937453
362 天前
我压测 4 核 8G 的 nginx ,tps 不到 5w 。配置在这里 https://github.com/lsk569937453/silverwind/blob/main/benchmarks/nginx/docker-compose.yaml

你 4 核 8G 居然能到 6W 。。。。。
allblux
362 天前
请问一下这个压测工具是啥
daiv
362 天前
请问你用了那个画图的库, 谢谢
ebony0319
362 天前
@allblux 阿里云的 PTS
ebony0319
362 天前
@daiv 这里阿里云 PTS 的压测报告图。
ebony0319
362 天前
@lsk569937453 这里跟您的配置与方案有关系,比如长链接,短链接,我们之前单纯压 nginx ,2 核心 2G 就可以达到 4 ,5 万样子了。那个图找不到了。
ebony0319
362 天前
@lsk569937453 还有一个跟你压测的工具有关系,你有没有足够的机器能对你的压测机器产生足够的压力么。
ebony0319
362 天前
@ebony0319 长连接,短连接。纠正一下。
ebony0319
362 天前
@lsk569937453 https://github.com/brettwooldridge/HikariCP/issues/2151 这里有我测试占用的资源情况,差不太多,您可以看下。
keepRun
361 天前
java gc 、内存等监控怎样?
allblux
361 天前
@ebony0319 好的.多谢
siweipancc
361 天前
照我之前在 3.2.1 的测试,实际上你这个配置也就没有开虚拟线程池,那如果查询结果返回给前段前随机睡一段时间,tps 真能爬这么高吗?
ebony0319
361 天前
ebony0319
361 天前
@keepRun 大概如上图,有点久了,我找不到的 gc 情况,应该就是这样。上图应该是压 Hikari 的情况。
keepRun
361 天前
感觉 jdk21 会成为下一个 jdk8 ,相比之前的版本优势比较大

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

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

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

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

© 2021 V2EX