1.实验目标

 

本次实验将引导您在阿里云公共云上实际操作,购买带有MPP功能的POLARDB实例和ECS客户机实例,导入TPC-H数据,对POLARDB执行TPC-H标准测试集中的复杂SQL,并记录测试结果。

 

通过本次实验,您将会:

  • 了解并亲自通过阿里云控制台购买一个带有MPP功能的POLARDB实例
  • 购买测试所需的ECS客户机实例,配置专有网络VPC虚拟路由器
  • 配置POLARDB实例的相关参数
  • 使用TPC-H工具生成100GB数据,并且导入到POLARDB中
  • 使用TPC-H工具生成复杂查询SQL,分别使用POLARDB集群连接地址和MPP连接地址执行复杂SQL,观察响应时间的变化加速效果。

 

本次实验使用的阿里云控制台链接为:https://home.console.aliyun.com/

本次实验使用的测试账号和密码请联系实验讲师索取。

 

 

2.实验准备

您需要准备一台可以连接公网的电脑,并安装好SSH客户端工具,例如PuTTy,iTerm2等。

3.实验步骤

任务1:创建虚专有网络VPC和交换机

专有网络VPC(Virtual Private Cloud)是用户基于阿里云创建的自定义私有网络。交换机是组成专有网络的基础网络设备。它可以连接不同的云产品实例。在专有网络内创建云产品实例时,必须指定云产品实例所连接的交换机。

 

  1. 登录专有网络管理控制台。 
  2. 在最顶部菜单栏,选择专有网络的地域。本次实验均选择华东1。 
  3. 单击创建专有网络,根据以下信息配置专有网络和交换机,然后单击确定

专有网络

名称

LabVPC

目标网段

默认(192.168.0.0/16)

交换机

名称

LabSwitch

可用区

华东1可用区G

目标网段

默认(192.168.0.0/24)

 

任务2:购买POLARDB实例

  1. 进入POLARDB管理控制台(https://polardb.console.aliyun.com)
  2. 单击右上角的创建按钮。
  3. 选择按量付费。 
  4. 设置如下参数。

基本配置

地域

华东1

可用区

华东1可用区G

网络类型

专有网络

VPC网络

LabVPC

VPC交换机

LabSwitch

实例配置

引擎类型

POLARDB

实例规格

8核64GB(独享规格)

只读实例

创建一个同规格只读实例

集群名称

Lab-POLARDB-Cluster

购买量

集群数量

1

 

  1. 点击立即购买
  2. 点选同意协议,点击去开通。
  3. 点击管理控制台,点选华东1地域,看到实例创建正在创建中。
  4. 利用等待的时间,我们继续创建ECS客户机实例。

 

任务3:创建ECS客户机

云服务器(Elastic Compute Service,简称 ECS)是一种简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本,使您更专注于核心业务创新。本次实验中,ECS客户机通过运行Sysbench测试工具,连接到POLARDB数据库服务器上执行测试。

 

  1. 登录 云服务器ECS管理控制台
  2. 在左侧导航栏,单击 实例
  3. 在 实例列表 页面,单击 创建实例,进入 创建 页面。
  4. 进行 基础配置
  5. 选择 计费方式。本实验中,选择 按量付费
  6. 选择地域和可用区,选择华东 1可用区G
  7. 选择实例规格为 仅显示最新一代 > x86计算 > 计算型 > 计算型c5 8vCPU 16 GB。 
  8. 购买数量1台。
  9. 选择镜像为 系统镜像,操作系统CentOS,版本7.4 64
  10. 选择存储。本实验中,需要一定存储空间来存储TPCH测试集的数据。所以系统盘请选择高效云盘或者SSD云盘,存储空间设置为200GB
  11. 单击 下一步:网络和安全组,完成网络和安全组设置。
  12. 选择网络类型为 专有网络。选择LabVPCLabSwitch
  13. 选择 分配公网IP地址 为实例分配一个公网IP地址,并选择 按使用流量 对公网带宽计费。 设置使用的公网带宽为100Mbps
  14. 选择安全组。使用默认安全组。
  15. 不添加弹性网卡。
  16. 单击 下一步:系统配置
  17. 您可以选填此页面中的选项,建议您设置 登录凭证 和 实例名称。选择 自定义密码,设置密码 为Mpp123456,注意密码会区分为大写,并将实例名称设为LabECS。 
  18. 单击 下一步:分组设置。跳过这一步。
  19. 单击 下一步:确认订单。确认所选配置,您也可以单击编辑图标返回修改配置。
  20. 阅读和确认 云服务器ECS服务条款,然后单击 创建实例
  21. 单击管理控制台,返回实例列表。点击刷新按钮直到实例状态变为运行中

 

任务4:POLARDB增加只读实例

  1. 进入POLARDB管理控制台(https://polardb.console.aliyun.com)
  2. 点击左侧集群列表
  3. 选择上方华东1区域。
  4. 确定我们刚刚创建的POLARDB实例状态为运行中
  5. 点击我们刚刚创建的POLARDB实例的的操作: 更多 按钮,跳出列表中选择增加只读节点
  6. 点击图标: + ,增加一个只读节点
  7. 同意云数据库POLARDB协议,然后点击: 去开通
  8. 点击左侧实例列表,可以看到我们新的只读节点显示 创建中
  9. 点击右上角 刷新 按钮,等待只读节点创建完成

任务5:POLARDB开通MPP功能

  1. 点击左侧集群列表
  2. 选择上方华东1区域。
  3. 选择我们刚刚创建的POLARDB实例的页面右侧按钮 : 管理
  4. 访问信息段落中,点击 申请集群MPP查询连接地址
  5. 点击右上角刷新按钮,等待MPP功能开通完成
  6. MPP功能开通完成后,在访问信息段落中,集群MPP查询连接地址 展示的连接串在后续的实验测试过程中将会使用到。

 

任务6:创建POLARDB账号

  1. 进入POLARDB管理控制台(https://polardb.console.aliyun.com)
  2. 点击左侧集群列表
  3. 选择上方华东1区域。
  4. 确认新创建的集群为运行中状态。点击管理
  5. 在访问信息段落中,初始账号后面,点击申请账号
  6. 在弹出的对话框中,输入用户名:polardbadmin,密码:Polardb123456。
  7. 单击确定创建账号。

 

任务7:安装TPC-H工具 & 导入TPCH测试数据

  1. 确认ECS实例LabECS的状态已经是运行中
  2. 在页面上的IP地址列中,记录(或者复制)此实例的公网IP地址。
  3. 打开SSH客户端工具,输入ssh root@<ECS公网IP地址>。输入yes将地址加入本地可信列表,然后输入上面创建的ecs密码Mpp123456登录。
  4. 顺序执行下面的命令下载安装TPC-H工具。可以一次性复制粘贴所有命令并执行。
sudo yum -y install git mysql make automake libtool pkgconfig libaio-devel

git clone https://code.aliyun.com/junjun.zhang/tpch.git

cd /root/tpch/2.17.3/dbgen

make

 

  1. 执行下述指令,生成测试数据。下述指令生成的测试集数据量较大,可以直接执行./dbgen 生成10G的数据量,这个步骤时间会稍长

   ./dbgen –s 100

 

  1. 使用MySQL客户端登录POLARDB MySQL实例,创建TPC-H依赖的库和表,并且导入测试数据。请注意:本步骤消耗时间会非常的长,100GB的TPCH测试数据的导入会超过12个小时,建议编写一个简单的工具批量导入TPCH测试数据到POLARDB中。
   mysql -h <POLARDB连接地址> -u polardbadmin -pPolardb123456

   mysql>\. dss.ddl

   mysql>\. dss.ri

   mysql> use tpch;

   mysql>  SET FOREIGN_KEY_CHECKS=0;

   mysql> LOAD DATA LOCAL INFILE 'customer.tbl' INTO TABLE customer FIELDS TERMINATED BY '|';

   mysql> LOAD DATA LOCAL INFILE 'orders.tbl' INTO TABLE orders FIELDS TERMINATED BY '|';

   mysql> LOAD DATA LOCAL INFILE 'lineitem.tbl' INTO TABLE lineitem FIELDS TERMINATED BY '|';

   mysql> LOAD DATA LOCAL INFILE 'nation.tbl' INTO TABLE nation FIELDS TERMINATED BY '|';

   mysql> LOAD DATA LOCAL INFILE 'partsupp.tbl' INTO TABLE partsupp FIELDS TERMINATED BY '|';

   mysql> LOAD DATA LOCAL INFILE 'part.tbl' INTO TABLE part FIELDS TERMINATED BY '|';

   mysql> LOAD DATA LOCAL INFILE 'region.tbl' INTO TABLE region FIELDS TERMINATED BY '|';

   mysql> LOAD DATA LOCAL INFILE 'supplier.tbl' INTO TABLE supplier FIELDS TERMINATED BY '|';

 

任务8:分别通过POLARDB MPP连接地址和POLARDB 实例连接地址查询SQL,查看响应时间

  1. 获取TPC-H测试SQL,同样我们登录之前创建的ECS主机,执行下述命令。其中会展示TPC-H所有性能测试SQL
# 如果之前没有clone TPC-H测试sql,则执行下述sql

git clone https://code.aliyun.com/junjun.zhang/tpch.git

cd /root/tpch/2.17.3/dbgen/real_queries

ls *.sql

 

  1. 拷贝上一步中展示的其中任意一条SQL,使用POLARDB实例连接地址执行SQL,查看返回响应时间。
mysql -h <POLARDB连接地址> -u polardbadmin -pPolardb123456 -e "<拷贝的SQL串>"

 

  1. 使用POLARDB MPP连接地址执行SQL,查看返回响应时间。
mysql -h <POLARDB连接地址> -u polardbadmin -pPolardb123456 -e "<拷贝的SQL串>"

 

 

========= 文档结束=========