iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >springboot使用shardingsphere分库分表跳页引发的MySQL报警
  • 606
分享到

springboot使用shardingsphere分库分表跳页引发的MySQL报警

摘要

背景: 公司内部的一个系统实现的时候用了分表,方案是开源的ShardingSphere 分表算法使用了100取模,100张表嗯嗯数据量太大,对于历史数据还使用了定时任务迁移。这些架构设计会在另一篇文章详谈。 故障: 某日,数据库告警,cup

springboot使用shardingsphere分库分表跳页引发的MySQL报警[数据库教程]

背景:

公司内部的一个系统实现的时候用了分表,方案是开源的ShardingSphere 分表算法使用了100取模,100张表嗯嗯数据量太大,对于历史数据还使用了定时任务迁移。这些架构设计会在另一篇文章详谈。

故障:

某日,数据库告警,cup报警,发现多条慢查询日志(部分查询高达8分钟...),进而导致业务受到影响

以下是阿里云洞察详情

 技术分享图片

从日志中看到多条慢日志的offset超级大,导致很多无用查询,这里还导致返回记录特别多,

but,怎么导致这个结果的??

原因:

没有手动执行过这种sql,也没有接口提供这种入口。

从查询的时间点筛选请求日志发现请求是通过一个分页触发的,比如下面这个分页,现在点击最后一页3332,(页面是按照时间正序排列的,看最后一页可以看最新的数据)

 

技术分享图片

当筛选条件中添加指定多个应用时,我们会在多个表里查找...然后...分页,记得之前看文档说shardingsphere分页的时候会分页修正,见下图

 

技术分享图片

So,这时候选择多个表,并选择尾页查询,shardding就会把每张表里符合条件的数据査出来,合并排序拿到最终数据。这就算Mysql受得了,服务器也受不了啊

解决方案:

了解原因后解决方案也出来了,如果想看最后的页,那就倒过来看开始的页就可以了:添加排序按钮,并让前端只显示前几页来隐藏入口,接口也禁止使用太大的页数查询

 页面实现效果:

技术分享图片

 至此,使用分库分表插件shardingsphere分页查询尾页最后几页导致的mysql数据库服务器报警的问题解决了。

SpringBoot使用shardingsphere分库分表跳页引发的MySQL报警

原文:https://www.cnblogs.com/timseng/p/12713142.html

您可能感兴趣的文档:

--结束END--

本文标题: springboot使用shardingsphere分库分表跳页引发的MySQL报警

本文链接: https://www.lsjlt.com/news/5649.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作