记录一次接近24万条数据导入Mysql的过程

news2024/12/27 12:41:04

由于开发项目的需求,之前有部分数据要写入阿里云的表格存储,过了一年多时间,表A的数据量接近24万条,现在需要将表A的数据转到Mysql中。

利用官方工具导出数据后,发现文件里面有238999条数据,文件大小是460MB。

想了个流程:

  1. 按照表A的结构先在Mysql中创建对应的表格
  2. 文件先上传到OSS中,再从OSS中通过流方式读取回来,逐行回放,每10条发送一次到Mysql写入

说干就干,写好了程序,本地测试了小文件没有什么问题,放到服务器上的Docker中运行。

网卡打满,内存,CPU全部满载。失败告终。最终成果,只写入了1万多条数据。

总结了原因,读取OSS时用了公网,转成内网再试了一次,公网网卡不受影响了。内存,CPU照样全部满载。又是失败告终。

后来又想了个办法,将文件通过内网下载到Docker中,再用流读取方式,但是有个矛盾始终无法解决。就是控制流速的问题,试了response.data.on(‘data’, (chunk) => {})做等待,也是徒劳。

又尝试了某网友介绍的event-stream包,始终很好地控制流速,导致硬盘IO、内存、CPU全部满载,Mysql只写了几百条数据就失败了。

根据削峰填谷的思想,今天尝试了一个新方法,先将OSS上的数据按照准备写入Mysql的格式放到Redis里,Redis内存使用暴增400多M,之后逐条回放,操作成功就删除Redis上面的对应的数据,经过了差不多一个小时操作,数据入库成功,Redis内存使用量也恢复正常。写入的过程服务器和Mysql的监控显示CPU、内存、带宽、硬盘IO都比较平衡,重要的是没有影响其他服务。经过一个星期的试验和实践,算是完美解决了此问题。

服务器监控数据:
在这里插入图片描述
数据监控数据:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1368588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++之​虚函数

虚函数是C中的一个重要概念,它主要用于实现多态。在基类中声明一个虚函数,派生类可以重写这个函数,从而实现不同的功能。当基类指针或引用指向派生类对象时,调用虚函数会根据实际对象类型来调用相应的派生类中的函数实现&#xff…

DVWA-Hight-DOM型XSS漏洞

首先打开hight模块的DVWA,并来到DOM型XSS漏洞处 首先试探 这里普通的js代码被过滤 再利用img试探 同样被过滤 这里后端代码不太可能将所有可能利用黑名单的形式全部写入过滤代码中,所以这里后端的过滤代码大概率是白名单,也就是除了这个下拉列表中的名单…

Excel5:自动化周报的制作

自动化周报的数据引用来源于8月成交数据-纯数值表格,因为8月成交数据表格中部分单元格中有vlookup函数,且存在跨表连接。 对于跨表连接的解释和说明? 首先打开我们之前做好的成交数据。打开后我们可以看到这上面出现了一个安全警告&#xff0…

“感恩同行 年度回馈” 中国善网开展“优秀公益伙伴”征集活动

2024年1月5日-1月15日,中国善网正式开展为期10天的2023年度“优秀公益伙伴”征集活动,此征集活动主要面向中国善网所有的注册会员单位。光阴荏苒,时光流逝,回首中国善网现已成立七年之久,截止目前为止,中国…

【ROS】小车机器视觉巡线行驶

摄像头 USB摄像头是最普遍的摄像头,如笔记本内置的摄像头,在ROS中使用这类设备很简单,可以直接使用usb_cam功能包驱动,USB摄像头输出的是二维图像数据。 usb_cam是针对V4L协议USB摄像头的ROS驱动包,核心节点是usb_cam…

web端播放rtsp视频流(摄像头监控视频)教程

文章目录 前言一、ffmpeg是什么?二、ffmpeg安装1.下载2.安装 三、node搭建websocket服务四、web客户端播放视频 前言 像海康大华一些摄像头或者直播源 为rtsp视频流,想在web上播放必须进行协议转换。已知一些方案例如rtsp转rtmp需要flash,现…

杨中科 ASP.NET Core 中的依赖注入的使用

ASP.NET CORE中服务注入的地方 1、在ASP.NET Core项目中一般不需要自己创建ServiceCollection、IServiceProvider。在Program.cs的builder.Build()之前向builderServices中注入 2、在Controller中可以通过构造方法注入服 务。 3、演示 新建一个calculator类 注入 新建TestC…

伦茨Lenze驱动器维修EVS9324-ES D-31855

Lenze伦茨驱动器常见故障修理: 伦茨伺服驱动器维修,主电路上电检修注意事项:逆变模块与驱动电路在故障上有关联性。当逆变模块炸裂损坏后,驱动电路势必受到冲击而损坏;逆变模块损坏也可能正是因驱动电路的故障而造成的…

使用Android Compose实现网格列表滑到底部的提示信息展示

文章目录 概述1 效果对比1.1 使用添加Item的办法:1.2 使用自定义的方法 2. 效果实现2.1 列表为空时的提示页面实现2.2 添加Item的方式代码实现2.3 使用自定义的方式实现 3. UI工具类 概述 目前大多数的APP都会使用列表的方式来呈现内容,例如淘宝&#x…

PPT插件-布局参考-增加便携尺寸功能

PPT自带的尺寸为很久的尺寸,很多尺寸不常用,这里增加一些画册尺寸,用于PPT排版设计。 软件介绍 PPT大珩助手是一款全新设计的Office PPT插件,它是一款功能强大且实用的PPT辅助工具,支持Wps Word和Office Word&#x…

C#操作注册表

说明 今天用C#开发了一个简单的服务,需要设置成为自启动,网上有很多方法,放到启动运行等,但是今天想介绍一个,通过修改注册表实现,同时介绍一下操作注册表。 private void TestReg(){//仅对当前用户有效 H…

Easycode模板,基于官方提供的Mybatis-plus模板改造

目录结构 模板亮点 1、接口类默认继承实体类 实体类不做任何修改保证类与表统一 2、实体类涵盖多种注解 日期格式编码、Long类型转String、字段自动填充 3、自带insertOrUpdateBatch方法 导入方式 {"author" : "Wsong","version" : "1.2.8…

【Python机器学习】决策树——树的特征重要性

利用一些有用的属性来总结树的工作原理,其中最常用的事特征重要性,它为每个特征树的决策的重要性进行排序。对于每个特征来说,它都是介于0到1之间的数字,其中0代表“根本没有用到”,1代表“完美预测目标值”。特征重要…

微创新与稳定性的权衡

之前做过一个项目,业务最高峰CPU使用率也才50%,是一个IO密集型的应用。里面涉及一些业务编排,所以为了提高CPU使用率,我有两个方案:一个是简单的梳理将任务可并行的采用并行流、额外线程池等方式做并行;另外…

安科瑞ACX10S-YHW新能源智能电瓶车充电桩 户外充电桩 ——安科瑞 顾烊宇

1.产品简介 ACX10S-YHW新能源智能电瓶车充电桩 户外充电桩具有交流输出电源远程通断控制、 充电安全控制、电度计量、按时计费功能于一体的交流供电装置,该装置能通过电动自行车的车配充电器为电动自行车充电。支付方式可选择刷卡、扫码使用,设备内部可…

有什么不同种类的葡萄酒?

当大自然完成了它的工作,葡萄收获了,酒窖主人的任务就是把葡萄园里达到的高质量带给成品酒。《葡萄酒法》将优质葡萄酒分为三类,白葡萄酒、红葡萄酒和玫瑰红葡萄酒,葡萄品种和生产流程被精确定义。 白葡萄酒新鲜,果香浓…

STM32F103C8T6内部自带Bootloader模式之使用FlyMcu烧写程序

简介 实现自己的Bootloader前, 使用一下STM32内部自带的Bootloader对STM进行烧写 步骤 下载FlyMCU 参考 普中STM32-PZ6806L 使用FlyMcu串口烧录程序 Boot选择 Boot0->1 , Boot1->0 进到系统存储器 打开FlyMCU 1 选择串口波特率 2 选择程序 3 不需要使用辅助引脚 4 开…

【Codelab】如此简单!一文带你学会 15 个 HarmonyOS JS 组件

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ 目录 ✨ 前言 工程代码的结构 ​编辑 页面构建及组件使用详解 homepage代码文件 商品陈列页面 …

工业异常检测AnomalyGPT-Demo试跑

写在前面:如果你有大的cpu和gpu可以使用,直接根据官方的安装说明就可以,如果没有,可以点进来试着看一下我个人的安装经验。 一、试跑环境 NVIDIA4090显卡24g,cpu内存33G,交换空间8g,操作系统ubuntu22.04(试跑过程cpu…

FDA食品接触材料测试项目接触

1. FDA介绍: 美国食品和药品管理局(FDA)负责监管食品接触材料,此类材料必须经过检测,确保达到食品接触安全标准。美国联邦法规(CFR)第21章对此类材料作出具体规定,并将此类材料视…