Springboot vue框架 一段时间无法登录

springboot项目多人访问后一段时间无法登陆,点击登录一直转圈,F12查看前端有发送请求,但是后台无响应。
注:日志无相关报错

需要的话,远程调试

多人是多少人?如果非常多的话。这个有可能就是后端服务卡死了,无法接收新的响应。

后端接口有访问到没有

这种情况可能是由于服务器的性能瓶颈导致的,建议采取如下步骤进行排查:

1、查看服务器的 CPU、内存、IO 等指标是否超过阈值,如果超过则需要升级硬件或者优化代码;
2、检查网络环境是否稳定,如果出现网络抖动或者丢包情况,也有可能导致登录请求无法被及时响应;
3、检查应用部署时的配置是否正确,比如数据库连接池、线程池等参数设置是否合理,如果不合理也有可能导致性能瓶颈;
4、如果以上步骤都没有找到问题,可以考虑使用性能分析工具进行性能分析,找出耗时较长的方法或者代码块,进一步优化性能。

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7736001
  • 这篇博客也不错, 你可以看下解决SpringBoot与vue项目部署到服务器的跨域问题(亲测有效)
  • 除此之外, 这篇博客: springboot+vue实现增删改查+分页查询中的 1:首先。创建一个springboot项目,这里我使用以及构建好基本框架的脚手架,打开是这个样子: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 请添加图片描述
    Result类:已经封装好了三种返回类型的包装类:code,msg,data

  • 您还可以看一下 郑为中老师的手把手开发Vue+SpringBoot超市账单管理系统课程中的 搭建开发环境,了解超市账单管理系统的业务逻辑小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    答案:

    根据问题描述,可以初步判断是后端出现了瓶颈,导致登录请求无法得到及时响应,从而出现登录失败的情况。下面给出一些可能的解决方案:

    1. 查看后端代码,排查是否有耗时的操作,例如数据库查询、IO操作等,可以使用Springboot提供的AOP织入方式统计方法的执行时间,找到具体的瓶颈点。

    2. 检查后端服务器的性能是否足够,例如CPU、内存、网络带宽等,如果出现性能瓶颈,可以考虑将应用程序部署到更高配置的服务器上。

    3. 考虑对后端进行优化,例如使用缓存、负载均衡、分布式系统等技术手段,减轻后端服务器的负担,提高系统的性能和稳定性。

    4. 根据前端F12查看时的请求地址,检查后端接口是否正确,并查看后端是否有相关的请求处理逻辑,例如使用Springboot的@RestController注解定义RESTful接口,检查接口响应是否正确。

    综上所述,解决该问题的具体方案需要结合实际情况进行分析和调试,如果需要更多的信息支持,请提供更多的上下文信息,以便更好地理解和定位问题。

是不是数据库 有问题

问题描述太简单了,没办法分析,下次发布问题最好可以截几个图看看之类的。

以下答案由GPT-4.5Plus大模型(语音)与博主A努力中.......共同编写:

根据您的描述,这很有可能是Spring Boot应用出现了死锁或线程饥饿的情况。一些可能的原因:

  1. 数据库连接池耗尽,导致无法获取数据库连接。Spring Boot默认使用HikariCP数据库连接池,其大小默认为10。在高并发情况下很容易耗尽,导致请求无法正常响应。
解决方案:增加HikariCP的maximumPoolSize,如:
properties
spring.datasource.hikari.maximum-pool-size=50

  1. 请求处理线程缓慢或阻塞,导致Web服务器中所有可用线程都在处理请求,无法响应新的请求。

解决方案:

  • 优化请求处理逻辑,减少阻塞
  • 增加Web服务器(如Tomcat)的maxThreads设置
  • 增加应用的线程池大小,如:
properties
spring.task.execution.pool.max-size=50 

  1. 死锁:两个或多个线程相互持有对方需要的锁,导致都无法继续执行。

解决方案:仔细检查业务逻辑中的锁使用,避免出现死锁情况。

  1. GC频繁或长时间执行,导致应用出现停顿,无法正常响应请求。

解决方案:

  • 增大JVM内存,减少Full GC次数
  • 调整GC算法,使用G1 GC等低停顿的GC算法
  • 避免在请求处理逻辑中执行重量级的内存分配操作

其他可能的原因还有:缓存击穿、接口幂等性问题导致的并发冲突等。

所以,解决这个问题的思路是:

  1. 检查应用日志(或者使用监控工具),定位到底层的真正原因。
  2. 根据原因对症下药,使用对应的解决方案进行优化。
  3. 针对高并发场景,对Spring Boot应用的配置(如数据库连接池、线程池、缓存等)进行预先优化。