实践教程之使用PolarDB-X进行TP负载测试

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您如何使用PolarDB-X进行TP负载测试。

PolarDB-X 为了方便用户体验,提供了免费的实验环境,您可以在实验环境里体验 PolarDB-X 的安装部署和各种内核特性。除了免费的实验,PolarDB-X 也提供免费的视频课程,手把手教你玩转 PolarDB-X 分布式数据库。本期实验将指导您如何使用PolarDB-X进行TP负载测试。


本期免费实验地址

本期教学视频地址


前置准备

假设已经根据前一讲内容完成了PolarDB-X的搭建部署,使用PolarDB-X Operator安装PolarDB-X,并且可以成功链接上PolarDB-X数据库。


安装Benchmark-Boot平台

1.在新打开的终端窗口中,使用root账户,在/root 目录下,执行Benchmark-Boot压测平台一键安装命令。

bash -c "$(curl -fsSL https://benchmark-boot.oss-cn-hangzhou.aliyuncs.com/setup.sh)"


01.png

说明:

  • 其他部署安装方式可参考官方文档:https://doc.polardbx.com/tools/topics/benchmark-boot.html
  • 在正式测试环境下,压测机应与数据库实例独立部署,避免资源争抢;且压测机应与数据库实例在同一个内网中,避免网络成为性能瓶颈。


2.执行如下命令,验证安装是否成功。

curl -X GET "http://127.0.0.1:4121/config/database" -H "accept: */*"

返回结果如下,表示安装成功。

02.png3.在云产品资源列表中,找到ECS服务器的公网地址或弹性IP。

03.jpg

4.在您的本地使用的浏览器中,打开网址{ECS公网IP}:4121,访问Benchmark Boot平台首页

  • 请关闭系统代理或浏览器代理进行访问。
  • 如果本地浏览器出现前端页面显示不兼容的情况,可以使用运气实验室远程桌面的Chromium网页浏览器,如下图所示。
  • 05.jpg

压测平台配置数据库连接

本章节操作均在Benchmark-Boot平台端通过白屏化操作完成。

1.配置数据库连接:

在左侧导航栏进入选择运行压测>数据库连接面板,在配置数据库连接表格中填入以下信息。

  • 目标数据库的ip地址:在第4节连接PolarDB-X集群中描述了获取方法。
  • 端口:在第4节连接PolarDB-X集群中描述了获取方法。
  • 用户名:默认为polardbx_root。
  • 密码:在第4节连接PolarDB-X集群中描述了获取方法。
  • Sysbench库名:库名可自行输入任意合法名字。由于未手动创建Sysbench数据库,此处需要手动选择建库模式——AUTO或DRDS;如果之前已在该PolarDB-X实例中创建了Sysbench数据库,建库模式选择自动判断即可。
  • TPC-C库名:注意事项同上。

06.jpg

2.提交配置后,平台将自动校验数据库是否可以连通,并自动创建对应压测数据库,页面会自动刷新并展示当前连接数据库信息:

07.jpg

压测平台运行Sysbench

本章节操作均在Benchmark-Boot平台端通过白屏化操作完成。

1.导入Sysbench。

1.1 在左侧导航栏选择运行压测>Sysbench面板,在导入Sysbench表格中填入以下信息。

  • 表数量:4。
  • 单表大小:100000。
  • 导入并发数:2。

说明:请参考当前PolarDB-X实例的规格,选择合适的表数量和并发数;4张100000大小的表在并发数为2下的导入时间约为1分钟

08.jpg

1.2 提交导入任务后,在实时数据-Sysbench面板,查看导入数据过程。

09.jpeg

1.3 导入完毕后,回到运行压测>Sysbench面板中,单击校验数据(该步骤可选)。

10.jpeg

2.运行Sysbench。

2.1 进入运行压测>Sysbench面板,在运行Sysbench表格中填入以下信息。

  • 表数量:输入表数量,例如4。
  • 单表大小:输入单表大小,例如10000。
  • 并发数:可根据负载类型选择合适并发数。
  • 运行时长:单位为秒。
  • 负载类型:此处示例为点查。
  • 任务描述:有意义的一段压测描述记录,方便后续结果查看与汇总。

说明:由于数据库实例是冷启动状态,可以进行一轮热身后,再开始性能测试结果的记录。

11.jpeg

2.2 在压测Sysbench过程中,暂不支持并行启动任务。

20230703120212.jpg

3.查看Sysbench压测结果。

3.1 在左侧导航栏选择压测结果>Sysbench面板,可以列表的形式查看历史任务。

20230703120251.jpg

3.2 可查看单个任务的QPS曲线详细结果,也可对比查看两次任务的执行结果。

20230703120331.jpg

20230703120412.jpg


压测平台运行TPC-C

本章节操作均在Benchmark-Boot平台端通过白屏化操作完成。

1.导入TPC-C。

1.1 在左侧导航栏选择“运行压测-TPC-C面板,在导入TPC-C表格中填入以下信息。

  • 仓数:10
  • 导入并发数:5

说明:由于压测机与PolarDB-X 实例在同一台机器上,资源有限,并发数建议为5,10仓导入耗时约9分钟

20230703120522.jpg

1.2 提交导入任务后,在实时数据-TPC-C网页,查看导入数据过程。

20230703120607.jpg

1.3 导入完毕后,回到运行压测-TPC-C面板中,单击校验数据导入数据(该步骤可选)。

20230703120645.jpg

2.运行TPC-C。

在左侧导航栏中选择运行压测-TPC-C面板,在运行TPC-C表格中填入以下信息。

  • 仓数:输入仓数,例如10。
  • 并发数:根据仓数选择合适并发数。
  • 运行时长:单位为分钟。
  • 任务描述:有意义的一段压测描述记录,方便后续结果查看与汇总。

20230703120721.jpg

3.查看TPC-C压测结果。

在左侧导航栏中选择压测结果-TPC-C面板,可以列表的形式查看历史任务.

可查看单个任务的tpmC曲线详细结果,也可对比查看两次任务的执行结果。

20230703120753.jpg


本文来源:PolarDB-X知乎号,阅读更多好文

相关实践学习
Polardb-x 弹性伸缩实验
本实验主要介绍如何对PolarDB-X进行手动收缩扩容,了解PolarDB-X 中各个节点的含义,以及如何对不同配置的PolarDB-x 进行压测。
相关文章
|
1月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)
【2月更文挑战第13天】《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程) 上一篇文章,宏哥已经在搭建的java项目环境中实践了,今天就在基于maven项目的环境中给小伙伴们 或者童鞋们演示一下。
66 1
|
1月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)
【2月更文挑战第12天】《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程) 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。
44 1
|
25天前
|
Web App开发 前端开发 Java
《手把手教你》系列技巧篇(九)-java+ selenium自动化测试-元素定位大法之By name(详细教程)
【4月更文挑战第1天】 这篇教程介绍了如何使用Selenium Webdriver通过name属性来定位网页元素,作为系列教程的一部分,之前讲解了id定位,后续还会有其他六种定位方法。文中以百度搜索为例,详细说明了定位搜索框(name="wd")并输入关键词“北京宏哥”的步骤,包括手动操作流程、编写自动化脚本以及代码实现。此外,还提供了查看和理解Selenium源码的方法,强调了`open implementation`选项用于查看方法的具体实现。整个过程旨在帮助读者学习Selenium的元素定位,并实践自动化测试。
43 0
|
1月前
|
Web App开发 存储 JavaScript
《手把手教你》系列技巧篇(八)-java+ selenium自动化测试-元素定位大法之By id(详细教程)
【2月更文挑战第17天】本文介绍了Web自动化测试的核心——元素定位。文章首先强调了定位元素的重要性,指出找不到元素则无法进行后续操作。Selenium提供八种定位方法,包括By id、name、class name等。其中,By id是最简单快捷的方式。文章还阐述了自动化测试的步骤:定位元素、操作元素、验证结果和记录测试结果。此外,讨论了如何选择定位方法,推荐优先使用简单稳定的方式,如id,其次考虑其他方法。最后,作者提供了Chrome浏览器的开发者工具作为定位元素的工具,并给出了通过id定位的代码示例。
52 0
|
20天前
|
前端开发 Java 测试技术
《手把手教你》系列技巧篇(十二)-java+ selenium自动化测试-元素定位大法之By link text(详细教程)
【4月更文挑战第4天】本文介绍了link text在自动化测试中的应用。Link text是指网页中链接的文字描述,点击可跳转至其他页面。文章列举了8种常用的定位方法,其中着重讲解了link text定位,并通过实例展示了如何使用Java代码实现点击百度首页的“奥运奖牌榜 最新排名”链接,进入相应页面。如果link text不准确,则无法定位到元素,这说明linkText是精准匹配,而非模糊匹配。文章还提到了partial link text作为link text的模糊匹配版本,将在后续内容中介绍。
37 4
|
19天前
|
XML 前端开发 Java
《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
【4月更文挑战第6天】按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath。xpath 的定位方法, 非常强大。使用这种方法几乎可以定位到页面上的任意元素。xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素。XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。
45 0
|
1月前
|
Web App开发 安全 Java
《手把手教你》系列技巧篇(七)-java+ selenium自动化测试-宏哥带你全方位吊打Chrome启动过程(详细教程)
【2月更文挑战第16天】本文介绍了如何通过查看源码理解Selenium启动Chrome浏览器的过程。首先,展示了启动Chrome的Java代码,包括设置系统属性、创建WebDriver实例、最大化窗口、设置隐性等待、打开网站、获取页面标题以及关闭浏览器。文章还讲解了包(package)、import导入、setProperty设置系统属性、WebDriver接口、driver实例、manage方法、get方法加载网页以及quit方法退出浏览器的基本概念和作用。适合没有Java基础的读者了解Selenium与Java的交互方式。
50 3
|
2天前
|
数据采集 前端开发 测试技术
《手把手教你》系列技巧篇(三十一)-java+ selenium自动化测试- Actions的相关操作-番外篇(详解教程)
【4月更文挑战第23天】本文介绍了网页中的滑动验证码的实现原理和自动化测试方法。作者首先提到了网站的反爬虫机制,并表示在本地创建一个没有该机制的网页,然后使用谷歌浏览器进行验证。接着,文章详细讲解了如何使用WebElement的click()方法以及Action类提供的API来模拟鼠标的各种操作,如右击、双击、悬停和拖动。
6 2
|
3天前
|
Web App开发 数据采集 Java
《手把手教你》系列技巧篇(三十)-java+ selenium自动化测试- Actions的相关操作下篇(详解教程)
【4月更文挑战第22天】本文介绍了在测试过程中可能会用到的两个功能:Actions类中的拖拽操作和划取字段操作。拖拽操作包括基本讲解、项目实战、代码设计和参考代码,涉及到鼠标按住元素并将其拖动到另一个元素上或指定位置。划取字段操作则介绍了如何在一段文字中随机选取一部分,包括项目实战、代码设计和参考代码。此外,文章还提到了滑动验证的实现,并提供了相关的代码示例。
32 2
|
8天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)
【4月更文挑战第17天】其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇。那是因为这个比较重要,所以宏哥专门为她量身定制了一篇。FluentWait是Selenium中功能强大的一种等待方式,翻译成中文是流畅等待的意思。在介绍FluentWait之前,我们来讨论下为什么需要设置等待,我们前面介绍了隐式等待和显式等待。
33 3

热门文章

最新文章

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 云原生数据库 PolarDB