体验高可用云原生PolarDB MySQL引擎

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 本实验主要介绍如何在一台CentOS 7操作系统的ECS实例上,通过SysBench测试工具,体验云原生PolarDB MySQL引擎的高可用特性。

体验高可用云原生PolarDB MySQL引擎


1. 创建资源

  1. 在页面左侧,单击 云产品资源 下拉列表,查看本次实验所需资源。
  2. 单击屏幕右侧 创建资源 ,免费创建当前实验所需云产品资源。

说明:

资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在 云产品资源 列表查看已创建的资源信息,例如:IP地址、子用户名称和子用户密码等。


2. 创建PolarDB数据库账号

  1. 双击打开远程桌面的Chromium网页浏览器
  2. 在RAM用户登录框中单击下一步,并复制粘贴页面左上角的子用户密码到用户密码输入框,单击登录
  3. 复制下方地址,在Chromium网页浏览器打开新页签,粘贴并访问云数据库PolarDB控制台。
https://polardb.console.aliyun.com/
  1. 在集群列表页面顶部菜单栏中,切换资源所在地域。

说明:您可在云产品资源列表中查看PolarDB资源所在的地域。

  1. 在集群列表页面,找到您的PolarDB实例,单击实例ID。

说明:您可在云产品资源列表中查看实验室分配的PolarDB实例ID。

  1. 创建数据库账号。
  1. 单击左侧导航栏配置与管理>账号管理

  1. 单击左上方创建账号

  1. 参考说明配置账号信息,然后单击确定
  • 数据库账号:输入数据库账号名称,例如:temp
  • 账号类型:此处选择高权限账号
  • 密码:设置账号密码,例如:Dase2022
  • 确认密码:再次输入密码。


3. 设置数据库白名单

  1. 连接数据库需要设置数据库白名单,单击左侧导航栏配置与管理>集群白名单

  1. 集群白名单页面的IP列表区域,单击default分组右侧的配置

  1. 配置白名单面板,将白名单内IP地址127.0.0.1修改为0.0.0.0/0,单击确定

说明:如果找不到确定按钮,请按F11,开启全屏模式就能看见了。再按一次F11可退出全屏模式。


4. 安装测试工具SysBench

  1. 在实验室右侧功能栏中,单击 图标,切换至Web Terminal,自动连接到云服务器ECS。

  1. 在Web Terminal中,执行如下命令,安装SysBench。
yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql unzip
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/Universities/sysbench.zip
## 下载sysbench
unzip sysbench.zip
## 解压缩
cd sysbench
## 打开sysbench目录
git checkout 1.0.18
## 切换到sysbench 1.0.18版本
./autogen.sh
## 运行autogen.sh
./configure --prefix=/usr --mandir=/usr/share/man
make
##编译
make install
  1. 执行如下命令,配置SysBench client,使内核可以利用所有的CPU核数处理数据包(默认设置为2核),同时减少CPU核数之间的上下文切换。
sudo sh -c 'for x in /sys/class/net/eth0/queues/rx-*; do echo f>$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"

说明f 表示使用4个核。


5. 使用SysBench模拟对数据库持续的流量注入

  1. 在Web Terminal上,执行如下命令(会提示输入密码),在PolarDB MySQL引擎集群中创建数据库testdb,用于后续的SysBench流量注入。
mysql -h 集群地址 -P 端口号 -u 用户名 -p -e 'create database testdb'

说明

  • 集群地址即PolarDB连接地址,可在 云产品资源>场景资源信息如下⬇️ 中查询到;
  • 端口号默认3306;
  • 用户名与密码是第二步中创建的PolarDB数据库账户的用户名及密码(temp, Dase2022)。
  1. 执行如下命令,使用SysBench模拟对数据库进行持续的流量注入。
##准备数据
sysbench --db-driver=mysql --mysql-host=集群地址 --mysql-port=端口号 --mysql-user=用户名 --mysql-password=密码 --mysql-db=testdb --table_size=25000 --tables=250 --events=0 --time=600  oltp_write_only prepare
##运行workload
sysbench --db-driver=mysql --mysql-host=集群地址 --mysql-port=端口号 --mysql-user=用户名 --mysql-password=密码 --mysql-db=testdb --table_size=25000 --tables=250 --events=0 --time=600 --threads=8 --percentile=95 --report-interval=1 oltp_write_only run

说明:SysBench清理数据的命令如下,本实验暂不用执行。

##清理
sysbench --db-driver=mysql --mysql-host=集群地址 --mysql-port=端口号 --mysql-user=用户名 --mysql-password=密码 --mysql-db=testdb --table_size=25000 --tables=250 --events=0 --time=600 --threads=8 --percentile=95  oltp_write_only cleanup


6. 观察数据库的容灾恢复情况

  1. 在实验室右上角,单击 图标,新增终端二窗口。

  1. 在终端二中,执行如下命令,连接PolarDB集群。

说明:在后续步骤中,我们在终端二中观察数据库连接情况,在终端一中观察SysBench中流量注入情况。

mysql -h 集群地址 -P 端口号 -u 用户名 -p 密码
  1. 在终端二中,执行如下SQL语句,使用testdb数据库。
use testdb;
  1. 在实验室页面左侧,单击 图标,切换至远程桌面。

  1. 集群详情页面,单击登录数据库

  1. 登陆实例对话框中,使用已创建的账号登录(数据库账号temp,密码Dase2022)。

  1. 在页面左侧单击数据库实例,选择已登录实例>您的数据库实例,双击testdb数据库。

  1. 在SQLConsole页签,执行以下命令,激活PolarDB中的模拟故障容灾功能。

注意:此功能要求数据库内核引擎DB的版本要在8.0.1.1.26及以后

call dbms_fault.crash();

  1. 切换至Web Terminal,在终端一中,我们可以观察到触发故障容灾后TPS跌零,连接中断并报错,在此期间流量不断尝试重新注入,但TPS始终为0,大约1分钟后SysBench压测命令断开。

说明:当触发故障容灾后,可能会出现SysBench压测命令直接断开,不能对数据库进行持续的流量注入,看不到TPS跌零的情况。解决方法是,稍等1分钟,在终端一中重新执行SysBench压测命令,对数据库进行持续的流量注入,再继续触发故障容灾,进行尝试。

  1. 在终端二中,执行如下SQL语句。

说明:执行SQL语句时,请在触发故障容灾后,TPS未恢复正常前执行。

insert into t1 values(1);

返回结果如下,可以看到SQL语句不能正常执行,一直在等待中然后超时。

  1. 在终端一中,在触发故障容灾1分钟后并且SysBench压测命令断开情况下,再次执行如下命令,使用SysBench模拟对数据库进行持续的流量注入。
##运行workload
sysbench --db-driver=mysql --mysql-host=集群地址 --mysql-port=端口号 --mysql-user=用户名 --mysql-password=密码 --mysql-db=testdb --table_size=25000 --tables=250 --events=0 --time=600 --threads=8 --percentile=95 --report-interval=1 oltp_write_only

返回结果如下,我们可以看到TPS已恢复正常,在一分钟左右时间,数据库已恢复正常连接,体现了云数据库PolarDB的高可用性。

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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
存储 SQL 关系型数据库
Mysql高可用架构方案
本文阐述了Mysql高可用架构方案,介绍了 主从模式,MHA模式,MMM模式,MGR模式 方案的实现方式,没有哪个方案是完美的,开发人员在选择何种方案应用到项目中也没有标准答案,合适的才是最好的。
145 3
Mysql高可用架构方案
|
3月前
|
运维 Cloud Native 安全
云原生技术:重塑现代IT架构的引擎
在当今数字化时代,企业正面临着前所未有的挑战与机遇。随着云计算技术的不断发展,云原生技术作为其核心驱动力之一,正在彻底改变企业的IT架构和运营模式。本文将深入探讨云原生技术的内涵、特点及其对企业数字化转型的影响,揭示其在现代IT架构中的核心地位和作用。同时,我们还将分析云原生技术面临的安全挑战,并展望未来的发展趋势,为企业在云原生领域的实践提供有益的参考。
|
1月前
|
Kubernetes Cloud Native 调度
云原生批量任务编排引擎Argo Workflows发布3.6,一文解析关键新特性
Argo Workflows是CNCF毕业项目,最受欢迎的云原生工作流引擎,专为Kubernetes上编排批量任务而设计,本文主要对最新发布的Argo Workflows 3.6版本的关键新特性做一个深入的解析。
|
2月前
|
运维 Cloud Native 安全
云原生架构:企业数字化转型的新引擎##
【10月更文挑战第2天】 在当今数字化浪潮中,云原生架构以其独特的优势成为企业实现高效、灵活和创新的核心驱动力。本文深入探讨了云原生的概念、核心技术如容器化、微服务和DevOps等,并分析了这些技术如何共同作用,推动企业在云平台上实现快速迭代、弹性扩展和资源优化。同时,文章还阐述了云原生在实际应用中面临的挑战及相应的解决策略,为企业的数字化转型提供全面而深入的指导。 ##
58 17
|
2月前
|
运维 Cloud Native 持续交付
探索云原生架构:企业数字化转型的新引擎
在当今数字化浪潮中,云原生架构以其独特的优势成为企业转型的关键。它通过容器化、微服务、DevOps和持续交付等技术,使企业能够快速响应市场变化,实现应用的高效开发、部署和运维。本文将深入探讨云原生的概念、核心技术及其在现代IT环境中的重要性。
|
2月前
|
Kubernetes 监控 Cloud Native
探索云原生架构:企业数字化转型的新引擎
【10月更文挑战第5天】 在当今数字化浪潮中,云原生架构以其独特的优势成为企业实现高效、灵活和可扩展的关键。本文将深入探讨云原生的核心概念、关键技术以及实际应用案例,揭示其在推动企业数字化转型中的重要作用。
45 6
|
2月前
|
运维 Kubernetes Cloud Native
探索云原生架构:企业数字化转型的新引擎
【10月更文挑战第9天】 在当今数字化浪潮中,云原生架构以其独特的优势成为企业实现高效运营和快速创新的关键。本文将深入探讨云原生的核心概念、关键技术以及实际应用案例,揭示其如何助力企业加速数字化转型步伐。通过对云原生技术的剖析,我们将看到这一新兴架构是如何重新定义软件开发、部署和运维模式的,进而推动企业在激烈的市场竞争中脱颖而出。
|
2月前
|
运维 Cloud Native 持续交付
云原生技术:企业数字化转型的新引擎##
随着数字化浪潮的不断推进,企业对于高效、灵活的IT基础设施需求日益增长。云原生技术作为一种新型的软件开发和部署范式,正逐渐成为企业数字化转型的重要驱动力。本文将深入探讨云原生技术的核心概念、关键技术以及其在企业数字化转型中的作用和优势,旨在为读者提供清晰、全面的认识。 ##
|
2月前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
179 5
|
2月前
|
监控 Cloud Native 持续交付
云原生架构:企业数字化转型的新引擎##
在当今数字化浪潮中,云原生架构正成为推动企业创新和竞争力的关键因素。本文探讨了云原生的核心概念、技术优势以及在现代业务场景中的应用实践,揭示了其如何助力企业实现高效运营、灵活扩展与持续集成。通过对云原生技术的深入剖析,我们将看到它不仅是一种技术趋势,更是企业数字化转型的战略选择。 ##
44 5

相关产品

  • 云数据库 RDS MySQL 版
  • 云原生数据库 PolarDB
  • 下一篇
    DataWorks