应对智慧医保复杂的业务结算

简介: 本场景介绍了应对智慧医保复杂的业务结算,阿里云数据库产品量身打造一体化的在/离线数据库服务。保障实时业务的效率的同时极大的提高结算服务的性能。

应对智慧医保复杂的业务结算


1. 在ECS实例上安装相关软件

在ECS实例上安装相关软件本案例以8 vCPU 16 GiB规格的ECS实例为例。

登录ECS。,选择实例,点击开通的实例ID名称。ECS控制台1)登录。远程连接2)单击。立即登录方式,单击Workbench远程连接3)可选择

在ECS上执行如下命令,安装压测工具SysBench。1)执行如下命令下载SysBench。

yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql 
git clone https://github.com/akopytov/sysbench.git
2)进入SysBench目录。
cd sysbench
3)切换到SysBench 1.0.18版本。
git checkout 1.0.18
4)运行autogen.sh。
./autogen.sh
5)编译。
./configure --prefix=/usr --mandir=/usr/share/man
make
make install

执行如下命令配置SysBench Client,使内核可以使用所有的CPU处理数据包(默认设置为使用2个CPU),同时减少CPU之间的上下文切换。

sudo sh -c 'for x in /sys/class/net/eth0/queues/rx-*; do echo ff>$x/rps_cpus; done'
sudo sh -c 'echo 32768 > /proc/sys/net/core/rps_sock_flow_entries'
sudo sh -c 'echo 4096 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt'
说明:ff表示使用8个CPU(1个f表示4个CPU)。请根据实际配置修改,例如本案例中ECS为8核CPU,因此输入ff。

2. 准备模拟数据,写入RDS MySQL

准备模拟数据,写入RDS MySQL

在ECS中,执行如下命令,准备压测数据。

,在RDS MySQL中创建一个名为dbfortest的数据库。RDS 控制台登录

sysbench --threads=8 --table-size=25000 --tables=250 --events=0 --time=60 --mysql-db=xxx --mysql-user=xxx --mysql-password=xxx --mysql-host=xxx --mysql-port=xxx oltp_read_write prepare
涉及到的参数说明如下:

参数

说明

threads

测试线程数,可设置为8、16、32、64、128、256、512等,可根据实际的实例规格和环境时延进行尝试。

您可按照示例代码中的8进行设置。

table_size

要准备的表的大小,可按照示例代码中的25000进行设置。

tables

要准备的表的数量,可按照示例代码中的250进行设置。

events

测试请求数量,按照示例代码中的0进行设置。

time

测试时间,可按照示例代码中的60进行设置。

mysql-db

压测数据要注入的数据库名称,本示例中即为RDS MySQL中预先创建的dbfortest数据库。

mysql-user

RDS MySQL实例账号。

mysql-password

RDS MySQL实例账号对应的密码。

mysql-host

RDS MySQL实例连接地址。

可进入实例的数据库连接页面获取。

mysql-port

RDS MySQL实例连接端口。

可进入实例的数据库连接页面获取。

该命令会自动在RDS MySQL预先创建的dbfortest数据库中创建N个名为sbtest1、sbtest2……sbtestN的表(N为tables参数指定的表数量),其表结构如下,供您了解:
CREATE TABLE `sbtestN` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `k` int(11) NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_100` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=25001 DEFAULT CHARSET=utf8

3. 搭建DTS同步链路

搭建DTS同步链路

,购买DTS数据同步任务。任务配置要求如下:DTS购买页登录

商品类型:若您仅为体验,建议选择数据传输服务DTS(后付费),将根据使用时长收费。体验完成后再释放。

功能:选择数据同步。

源实例:选择MySQL。区域按照已有的RDS MySQL实例的地域选择。

目标实例:选择 AnalyticDB MySQL。区域按照已有的ADB MySQL实例的地域选择。

同步拓扑:选择单向同步。

其他按照默认选择即可,不影响本次体验。

数据同步列表,找到购买的数据同步任务,点击配置同步链路。DTS控制台购买完成后,在

选择相应的实例ID,填写账号密码后,点击授权白名单进入下一步。

选择要同步的数据库dbfortest,点击“>”,将dbfortest数据库添加至已选择对象。其余配置均可采用默认配置。

点击下一步,当定义状态为“已定义”后,点击预检查并启动。

4. 观测ADB MySQL中数据

观测ADB MySQL中数据

本步骤需要在ADB MySQL控制台中,登录对应的ADB MySQL的实例,观测其数据。

连接到ADB MySQL实例。

执行如下命令,查看实例中的数据库:

show databases;

可以看到,dbfortest数据库已经开始从RDS MySQL向ADB MySQL进行同步了。

等几分钟后(数据同步和校验需要时间),执行如下命令,查看同步结果:

use dbfortest;
show tables;

可以看到250张表已经完成了同步。

5. 运行压测程序,模拟RDS MySQL流量

运行压测程序,模拟RDS MySQL流量

在ECS中,执行如下命令,运行压测程序。

sysbench --db-driver=mysql  --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=xxx --table_size=25000 --tables=250 --events=0 --time=60   --threads=4 --percentile=95 --report-interval=1 oltp_read_write run

涉及到的参数说明如下:

参数

说明

report-interval

表示N秒输出一次测试进度报告,0表示关闭测试进度报告输出,仅输出最终的报告结果。

您可按照示例代码中的1进行设置。

threads

测试线程数,可设置为8、16、32、64、128、256、512等,可根据实际的实例规格和环境时延进行尝试。

您可按照示例代码中的4进行设置。

table_size

要准备的表的大小,可按照示例代码中的25000进行设置。

tables

要准备的表的数量,可按照示例代码中的250进行设置。

events

测试请求数量,按照示例代码中的0进行设置。

time

测试时间,可按照示例代码中的60进行设置。

mysql-db

压测数据要注入的数据库名称,本示例中即为RDS MySQL中预先创建的dbfortest数据库。

mysql-user

RDS MySQL实例账号。

mysql-password

RDS MySQL实例账号对应的密码。

mysql-host

RDS MySQL实例连接地址。

可进入实例的数据库连接页面获取。

mysql-port

RDS MySQL实例连接端口。

可进入实例的数据库连接页面获取。

可以看到程序已经开始运行:

6. 观察ADB MySQL的数据同步

观察ADB MySQL的数据同步

在ADB MySQL实例中执行如下命令:

show processlist;

可以看到DTS正在同步数据:

7. 校验数据一致性

等待程序运行结束后(共运行60s),随机抽查数据,校验同步的一致性。

在RDS MySQL中执行如下命令:


         

得到结果“064ee326182860c39e27fe239205925a”。

在ADB MySQL中执行同样的SQL:


         

得到结果“064ee326182860c39e27fe239205925a”。

由此可见,数据从RDS MySQL经由DTS同步到ADB MySQL后,数据是一致的。也可以更换其他表、其他条件来校验数据的一致性。

实验链接:https://developer.aliyun.com/adc/scenario/c931223493134a8e9e89711481679c2c

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
计算机视觉
Opencv学习笔记(十二):图片腐蚀和膨胀操作
这篇文章介绍了图像腐蚀和膨胀的原理、作用以及使用OpenCV实现这些操作的代码示例,并深入解析了开运算和闭运算的概念及其在图像形态学处理中的应用。
1271 1
Opencv学习笔记(十二):图片腐蚀和膨胀操作
|
3月前
|
人工智能 Rust 开发工具
Zed 1.0正式发布:VS Code慌了?
Zed 1.0正式发布!这款用Rust打造、GPU加速的“游戏引擎级”编辑器,告别Electron瓶颈,实现毫秒级响应;原生集成AI多Agent协作,支持DeltaDB字符级同步。它不是VS Code替代品,而是对编辑器本质的重新定义——性能即自由,人机协作为常态。(239字)
342 1
|
5月前
|
人工智能 自然语言处理 监控
OpenClaw是什么?能做什么?如何部署?一篇搞懂!
2026年崛起的开源AI智能体OpenClaw,突破“只说不做”局限,支持自然语言直控操作系统。兼容多大模型、本地部署、跨平台运行,集成办公、开发、科研等百余项自动化技能,零代码一键部署,真正实现AI从“问答助手”到“数字员工”的跨越。
4201 1
南京观海微电子----使用运算放大器过零检测器电路图
本文介绍基于运算放大器的过零检测电路,利用LM741将正弦波转换为方波,实现零电压交叉点的检测。该电路可作方波发生器,广泛应用于时序控制、频率测量等领域,并对比了光耦方案的工作原理与波形特点。
|
数据采集 人工智能 搜索推荐
解决语义搜索痛点,基于对比学习的领域特定文本嵌入模型微调实践
本文深入探讨了基于对比学习的嵌入模型微调技术,并通过AI职位匹配的实际案例验证了该方法的有效性。微调后的模型在测试集上实现了100%的准确率,充分证明了针对特定领域进行模型优化的必要性和可行性。
449 5
解决语义搜索痛点,基于对比学习的领域特定文本嵌入模型微调实践
|
传感器
遥感物理基础(1) 电磁波谱与电磁辐射
本文内容较为枯燥,是遥感的物理原理,作者已经尽量去帮助读者理解了,无论是精细的阅读还是走马观花,长期下来都能提高读者对专业的了解;电磁辐射是遥感传感器与远距离目标联系的纽带。不同类型地物具有不同的电磁辐射,遥感技术正是利用地物的的不同辐射特征,转变成数据或影像,达到探测地面目标的目的。因此,要应用遥感技术,必须了解电磁辐射的基本性质及地物的波谱特征。​ 电磁波是遥感技术的重要物理理论基础。
3371 0
|
Kubernetes 监控 Docker
深入浅出:微服务架构的设计与实践
在数字化转型的浪潮中,微服务架构以其灵活性和可维护性成为众多企业的首选。本文将通过浅显易懂的语言,带领读者一探微服务的世界,从基础概念到实战部署,解锁微服务架构的设计与实践之门。
270 28
|
存储 监控 安全
构建高效的个人知识管理系统:技术与实践
【10月更文挑战第5天】在信息爆炸的时代,个人知识管理变得至关重要。本文将介绍如何利用现代技术手段,尤其是开源工具和云服务,构建一个高效的个人知识管理系统。我们将探索不同的知识组织方法,自动化信息的收集与整理流程,以及确保信息安全的策略。通过实际案例和代码示例,本文旨在为读者提供一套可行的解决方案,帮助他们更好地管理个人知识库,提升学习和工作效率。
633 2
|
存储 缓存 JavaScript
Vue中的钩子函数
Vue中的钩子函数
|
存储 数据处理 UED
计算机随机存取存储器(RAM )
【8月更文挑战第4天】
7334 8