请教 Springboot 接口 RPS 优化问题

2022-12-07 09:50:05 +08:00
 Kontinue

目前的部署环境如下:

服务:jdk11 +springboot2.5 JVM 默认配置

阿里云 ECS 4c 16G * 2 + SLB 做负载均衡 RDS MySQL5.7 2c 8G 单机 Redis 主要做分布式锁

目前测试下来,TPS avg 500+,峰值 900+,业务异常大主要是 tryLock 没获取到锁直接 return 了。

领导说这配置理论应该能处理 5000 ,峰值可以到 8000 ?之前冷系统做的多,不太清楚,这个配置可以能到什么量级,虚心求教。sql 基本已做优化,没啥慢 sql 了。

请问下还有什么优化的方式吗?

2038 次点击
所在节点    程序员
29 条回复
Seulgi
2022-12-07 09:52:59 +08:00
你领导是在说理论 tps 5000?
cheng6563
2022-12-07 09:54:49 +08:00
没用消息队列消峰?那瓶颈基本就在数据库了。
Kontinue
2022-12-07 09:55:54 +08:00
@Seulgi 并发要测个峰值,就是支持的最大限度,理论上应该在 8000 以上才对
--
领导原话= =
Kontinue
2022-12-07 09:57:45 +08:00
@cheng6563 没有。
1. 日常并发估计就几时,就感觉没必要额外加中间件了。
2. 而且业务要求,这个接口需要同步返回的。
2han9wen71an
2022-12-07 10:06:38 +08:00
@Kontinue 100QPS 的我觉得同步不太可能,等一手大佬回复
Seulgi
2022-12-07 10:06:43 +08:00
@Kontinue 感觉你们领导说 qps,但是你们监控是 tps
fengpan567
2022-12-07 10:08:49 +08:00
看看接口的响应时长
Seulgi
2022-12-07 10:11:04 +08:00
本身 2c 8g 的 mysql 配置也不算高. 同步峰值不到 1000, 感觉已经差不多了.
Kontinue
2022-12-07 10:11:58 +08:00
@Seulgi 他意思应该是 RPS ,就是每秒处理这么多个吧
Kontinue
2022-12-07 10:12:57 +08:00
@fengpan567 图里写了,正常 100 以内,压测下 avg:320ms
night98
2022-12-07 10:18:54 +08:00
2c8g tps 顶天应该在 3-4000 左右,理论和实际肯定有差别,你领导在瞎编
Kontinue
2022-12-07 10:21:29 +08:00
@night98 现在能测到的峰值,TPS 1400 ,QPS 9000
cheng6563
2022-12-07 10:33:03 +08:00
那没啥办法咯,MySQL 这类数据库的事务性能就这样了。要么怼高配置要么搞下数据分片咯。
pangdundun996
2022-12-07 10:36:42 +08:00
有 cat 埋点吗?压测看调用耗时,看具体瓶颈在哪里:应用还是 mysql ,mysql 慢的话看负载,基本就知道该怎么优化了。
而且 QPS 和 TPS 是两码事,你领导要的是 QPS 还是 TPS ?
fengpan567
2022-12-07 10:43:12 +08:00
每台部署了几个服务,看能不能加下服务数量? btw ,压测时用 arthas 的 trace 命令看看方法的链路的消耗时长
Kontinue
2022-12-07 10:44:42 +08:00
@fengpan567 一台一个服务,峰值 cpu 已经 90%,再多开也没意义吧?
Kontinue
2022-12-07 10:53:42 +08:00
@pangdundun996 QPS 和 TPS 对于数据库,Q for 查询,T for 事务,那对于一个接口而言指的是什么?我也不太清楚= =
PlanV
2022-12-07 10:55:46 +08:00
这是什么测试工具啊,小白认真提问,还有你们说的 TPS 、QPS 分别指什么呢
mango88
2022-12-07 10:59:25 +08:00
你领导在瞎扯
Kontinue
2022-12-07 11:06:32 +08:00
@PlanV 阿里云的 PTS

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

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

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

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

© 2021 V2EX