一次由于索引引发的服务崩溃,JVM线程升高,但是Tomcat工作线程没有太大改变
由于一个查询慢查,导致整个系统大面积不可用,但是从监控中看到,内存飙升了,JVM工作线程满载了,但是Tomcat工作线程却没有太大压力,很奇怪。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
由于一个查询慢查,导致整个系统大面积不可用,但是从监控中看到,内存飙升了,JVM工作线程满载了,但是Tomcat工作线程却没有太大压力,很奇怪。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
会不会是用户点击过多,导致同时有许多慢查询占用服务器线程和mysql连接,并且一条sql查出了大量数据,导致内存占用加大,直到崩溃
有的,平时慢查监控并没有爆出这条SQL,但是在昨晚突然爆出来。数据量并没有太大的变化,唯一区别的是当时数据库的请求变多了。我们把数据库同步到本地,执行同样的SQL,只要0.03秒,而当时这条请求有的甚至超过3秒
rds有统计慢sql的吧
初步排查下来,是因为数据库CPU被打满后,外部系统调用超时后被熔断。附上当时数据库的CPU、请求监控。
但同时引出了另一问题:这个条sql不是最近才上的,该表的数据也没有新加,当时也没有对该表的DDL和增删改操作,为什么当时就出现了慢查,并导致了数据库CPU的飙升,平时慢查监控并没有爆出这条sql?
系统内部自身也会请求数据库,比如定时任务什么的,数据库压力大的情况下,都会导致整个服务压力满载的。