用 JMeter 测试 springboot 程序,64 核心没用满,只是用了 1%,500G 内存只用了几十 G ,但是其他人访问 springboot 的时候卡死了,如何压测每天 5000 人左右访问 springboot 项目,求大佬解答
![]() |
1
serverKnignt 13 天前
JVM 给少了吧,这玩意问问 AI 就知道了。一般没压测过,直接干就完事了。你这么大内存,如果没其他应用先给个 3/2 。不行再扩容呗
|
![]() |
2
Narcissu5 13 天前
线程数不够,或者线程都卡在同一个地方了,jstack 看一下
话说第一次写 springboot 项目就能有 64 核心 500G 机器,贵公司咋这么有钱😵 |
3
ningxing OP @Narcissu5 arm 架构的服务器,双 cpu ,总的 64 核心,512G 内存,现在准备上线系统了,JMeter 测试一个接口 500 个请求直接卡住了,返回好多报错,其他人再访问接口貌似 java 程序卡死了。不知道如何设置
|
![]() |
4
Goooooos 13 天前
用的是 tomcat-starter 吧,调整下 tomcat 的线程,你把 tomcat 的线程压满肯定卡。
|
5
Plutooo 13 天前 ![]() 默认你是用 tomcat ,yml 配置一下
server: tomcat: threads: #最大线程数 max: 1000 |
6
teek 13 天前
压测要有监控指标作为参考,把 tomcat 监控弄一下,看看线程使用情况
|
8
ningxing OP @serverKnignt JVM 设置全部内存也没有动,只用了几十 g
|
![]() |
9
guyeu 11 天前
1. 把每天 5000 人访问这个指标转换为可以通过压测量化的指标:请求接口分布、每秒请求数、响应延时、并发连接数、数据库的 TPS 、数据库的连接数,一般认为在预期载荷的情况下,内存/CPU 等核心硬件资源使用率在安全线( 50%)是符合预期的;
2. 编写施压端方案,这方面的工具或者方法就很多了,不同的业务场景适用的东西也不一样; 3. 确保施压端和服务端的可观测性,服务端重点是影响服务的可用性和稳定性的指标,施压端终点是影响用户体验的指标,这样才能产出有说服力的报告; 4. 执行压测,分析性能瓶颈,解决问题,直到压测表现符合预期 根据你的描述,很明显是业务逻辑的问题,包括但不仅限于死锁、死循环、资源争用、上游 API 的问题。 |