卡卡的喵 2018-01-17 09:17 采纳率: 100%
浏览 2049
已采纳

接口被大量访问后,数据库请求没反应的问题

最近网站被黑客攻击,一个获取验证码的接口被大量的请求(大概1天有几十万次的请求),
这个获取验证码的接口做的事情是生成一个随机数放到session里,
服务器运行了大概1个月左右,所有涉及到访问数据库的请求都没有反应了(访问超时),
但其他没有访问数据库的请求(比如页面跳转)之类的请求都可以访问.
重启服务器后回复正常.
请问这个是什么原因导致的呢?难道是session把内存占满了,所以才无法访问数据库呢?
ps 服务器用的是tomcat7.0 ,项目架构用的是springmvc

  • 写回答

7条回答 默认 最新

  • yh4130a 2018-01-17 13:50
    关注

    应该是访问数据库的连接假死,(也就是说连接实际断开了,但是你的服务端数据库连接未诊断出断开),你应该先检查数据库连接最大超时时间设计,默认应该是很长的。其次是数据库连接心跳保持。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?