首页 > 其他分享 >记一次线上DB负载上升问题

记一次线上DB负载上升问题

时间:2023-07-30 23:22:34浏览次数:27  
标签:负载 db DB 查询 线程 线上 推送 数据

一.背景

 因账目核对,目前要求是每月8日开始推送当月数据,因此需要8日推送整个1周数据(例:7月8日开始推送7月的数据)

二.问题

dba告知当前数据库所在集群负载增加30%以上,通过查询得知当前数据库与其他财务库两个库同属于一个集群,

集群负载过大会影响其他财务结算,支付等数据部分,产生很大的影响!

三.问题解决与复盘

通过监控查询到10:00-10:30分之间,当前db的负载查询次数最高已达到200万,平均也达到130万以上

紧急解决措施:先通过推送开关关闭推送,后续通过小批量推送!

数据推送流程:

1.获取本日期内最小最大数据ID

2.查询数据库每次获取1000条数据

3.线程池开启30个线程推送数据,同时更新推送完的数据状态

4.全部接口都同时推送,总共7个接口

 

原因:同时在推送数据,所以数据的获取的至少7倍的查询,同时推送数据很快,大约在150000条/分钟

在推送数据的过程中,同时还要更新数据的状态,查询db的数据量是比较大的,造成了短时间的负载增加!   

 

复盘:

1.改小线程数量,将线程设置为动态可配置的形式

2.推送时间点可改为晚上等业务高峰期小的时间段

3.拆分推送时间,尽可能避免同一时间段内多个任务同时推送

4.若要大量连续推送数据,及时关注db负载监控,出现问题及时将开关关闭等等

 

标签:负载,db,DB,查询,线程,线上,推送,数据
From: https://www.cnblogs.com/developS/p/17592351.html

相关文章

  • OpenCloudOS 与PolarDB全面适配
    近日,OpenCloudOS开源社区签署阿里巴巴开源CLA(ContributionLicenseAgreement,贡献许可协议),正式与阿里云PolarDB开源数据库社区牵手,并展开OpenCloudOS(V8)与阿里云开源云原生数据库PolarDB分布式版、开源云原生数据库PolarDBPostgreSQL版兼容性适配。经过......
  • 10-DBA命令和数据库设计的三范式
    10-DBA命令和数据库设计的三范式课程目标掌握新建用户、授权、回收权限、导出导入、第一范式、第二范式、第三范式、三范式总结。10.1新建用户createuserusernameidentifiedby'password';说明:username——你将创建的用户名,password——该用户的登陆密码,密码可以为空,如果......
  • vscode+gdb 配置
    到这个网址下载mingwc语言环境https://sourceforge.net/projects/mingw-w64/files/mingw-w64/我是windows64位,直接下载这个: 配置好环境变量下载c/c++插件配置vscode文件: launch.json文件:{//使用IntelliSense了解相关属性。//悬停以查看现有属性......
  • adb常用命令
    1.*查看已连接的设备列表:adbdevices这个命令是查看当前连接的设备,连接到计算机的android设备或者模拟器有哪些。2.断开设备:adbdisconnectIP3.连接设备:adbconnectIP#(手机和电脑处于同一局域网)  4.*开启adb服务:adbstart-server5.*关闭adb服务:adbkill-......
  • MongoDB副本群集
    1、群集类型  1)故障转移群集  简称高可用群集  一组计算机组成 选举高优先级节点对外提供服务 其他节点监听高优先级服务运行状态 发现高优先级服务故障接替工作 2)负载均衡群集  一组计算机组成  组中所有节点都对外提供服务 动态扩展和收缩 可......
  • MongoDB副本群集
    1、群集类型  1)故障转移群集  简称高可用群集  一组计算机组成 选举高优先级节点对外提供服务 其他节点监听高优先级服务运行状态 发现高优先级服务故障接替工作 2)负载均衡群集  一组计算机组成  组中所有节点都对外提供服务 动态扩展和收缩 可......
  • 15_Spring_JDBCTemplate批操作
    15_Spring_JDBCTemplate批操作一次连接,操作表格里的多条数据,就是批量操作1批量增加2批量修改3批量删除实体类packagecom.msb.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importjava.io.Serializable;/**@......
  • 14_Spring_JDBCTemplate的使用
    14_Spring_JDBCTemplate的使用JdbcTemplate概述JdbcTemplate是spring框架中提供的一个对象,是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多的操作模板类。例如:操作关系型数据的JdbcTemplate和,操作nosql数据库的RedisTemplate,操作消息队列的JmsTemplate等等......
  • Java的readBytes是怎么实现的?
    1.前言众所周知,Java是一门跨平台语言,针对不同的操作系统有不同的实现。本文从一个非常简单的api调用来看看Java具体是怎么做的.2.源码分析从FileInputStream.java中看到readBytes最后是native调用/***Readsasubarrayasasequenceofbytes.*@parambtheda......
  • 盘点国内服务商的负载均衡
    以下是国内有名的服务商腾讯云的DNSpodIPv4最多支持两个(添加就要付费)IPv6暂时没有限制(后续可能也要付费)华为云DNSIPV4没有限制IPv6没有限制阿里云DNSIPv4没有限制IPv6没有限制由此可见腾讯还是比较贪的哈哈......