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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 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开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
2天前
|
敏捷开发 监控 测试技术
提升软件质量的利器:自动化测试的实践与反思
在软件开发的生命周期中,测试作为保障产品质量的重要环节,其重要性不言而喻。随着敏捷开发和持续集成等实践的普及,传统的手动测试方式已逐渐无法满足快速迭代的需求。因此,自动化测试作为一种提高测试效率和准确性的有效手段,正受到越来越多开发者的青睐。本文将深入探讨自动化测试的价值、实施步骤以及在实践中可能遇到的问题和解决方案,帮助读者更好地理解和应用自动化测试。
9 2
|
6天前
|
Web App开发 JavaScript Java
自动化测试的利剑:Selenium WebDriver入门与实践
【9月更文挑战第21天】在软件开发的海洋中,自动化测试犹如一艘船,帮助开发者们快速航行至质量保证的彼岸。本文将作为你的罗盘,指引你了解和掌握Selenium WebDriver这一强大的自动化测试工具。通过深入浅出的方式,我们将探索Selenium WebDriver的基本概念、安装过程以及编写简单测试脚本的方法。无论你是刚接触自动化测试的新手,还是希望提升测试技能的开发者,这篇文章都将为你提供有价值的指导。
|
7天前
|
监控 安全 测试技术
软件测试的艺术:探索式测试的魅力与实践
【9月更文挑战第21天】在软件开发的海洋中,测试是确保航行安全的灯塔。本文将带你领略探索式测试(Exploratory Testing)的独特魅力,这是一种强调个人技能和经验、鼓励即兴发挥的测试方式。我们将通过实际案例,探讨如何有效实施探索式测试,以及它如何与传统测试方法相辅相成,共同提升软件质量。
|
4天前
|
存储 安全 jenkins
提升软件测试效率的策略与实践
在软件开发过程中,测试环节扮演着至关重要的角色。它不仅保障了软件产品的质量,还在很大程度上决定了产品的最终用户体验。本文将探讨几种实用的策略和实践方法,旨在提高软件测试的效率。从自动化测试工具的应用,到持续集成环境的搭建,再到测试用例的高效管理,我们将一一解析如何优化测试流程,减少重复工作,确保软件质量的同时,缩短上市时间。
|
1天前
|
小程序 测试技术 程序员
『软件工程12』软件工程实践方法——软件测试
该文章详细阐述了软件测试的重要性和基本原则,并按测试阶段顺序介绍了单元测试、集成测试、确认测试以及系统测试的具体内容和实施步骤。
『软件工程12』软件工程实践方法——软件测试
|
4天前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
|
6天前
|
测试技术
软件测试中的自动化策略与实践
【9月更文挑战第21天】在软件开发的生命周期中,测试阶段扮演着至关重要的角色。它不仅确保了软件产品的质量,还帮助团队及早发现并修复缺陷,从而节省时间和成本。本文将探讨如何通过实施自动化测试策略来提升测试效率和有效性,包括选择合适的工具、设计有效的测试用例以及维护测试脚本。文章旨在为读者提供一套清晰的指导方针,帮助他们在项目中成功地应用自动化测试。
|
8天前
|
数据管理 jenkins 测试技术
软件测试中的自动化测试实践与探索
本文探讨了在软件开发过程中,如何有效实施自动化测试,以提升软件质量和开发效率。通过对自动化测试的概念、工具选择、测试策略和具体实践案例的分析,旨在为软件测试人员提供一些有益的参考和启示。
|
5天前
|
测试技术 持续交付 Android开发
软件测试中的自动化测试策略与实践
本文深入探讨了软件测试中自动化测试的策略与实践,阐述了自动化测试的重要性、适用场景及常见工具。通过对自动化测试框架的搭建、脚本编写、持续集成等方面的详细分析,揭示了如何有效提升软件测试的效率和质量。同时,本文还指出了自动化测试在实际应用中可能面临的挑战,并提出了相应的解决方案。无论是对于初学者还是资深测试工程师,本文都提供了宝贵的参考和启示。
|
8天前
|
测试技术 持续交付 云计算
提升软件质量的关键路径:高效测试策略与实践
在当今数字化时代,软件已成为企业运营和产品服务的核心。随着软件开发周期的不断缩短和市场需求的迅速变化,确保软件质量成为开发过程中的首要任务。本文将探讨如何通过高效的测试策略和实践来提升软件质量,包括自动化测试、持续集成、代码审查等关键技术和方法。通过对这些技术的应用和整合,软件开发团队可以在竞争激烈的市场环境中保持领先地位,为用户提供高质量的产品和服务。

相关产品

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