AnalyticDB PostgreSQL版支持通过PTS进行性能测试,本文介绍如何通过PTS对AnalyticDB PostgreSQL版实例进行性能测试。
背景信息
性能测试PTS(Performance Testing Service)是一款简单易用,具备强大的分布式压测能力的SaaS压测平台。PTS支持按需发起百万并发、千万TPS流量的压测任务,100%兼容JMeter,提供场景编排、API调试、流量定制、流量录制等功能,可快速创建业务压测脚本,精准模拟不同量级用户访问业务系统,帮助业务快速提升系统性能和稳定性。
费用说明
前提条件
- 已开通性能测试PTS服务,具体信息,请参见开通方式。
- 已创建AnalyticDB PostgreSQL版实例,创建方式,请参见创建实例。
本次最佳实践中使用的实例的资源类型为存储弹性模式,引擎版本为6.0。
- AnalyticDB PostgreSQL版实例已加载样本数据库,加载方式,请参见管理样本数据集。
样本数据集的具体信息以及示例查询语句,请参见数据集信息和示例查询。
- AnalyticDB PostgreSQL版的白名单已添加PTS所在的网段。
本次示例中,AnalyticDB PostgreSQL版与PTS在同一VPC中,您可以将VPC网段添加至白名单中,设置白名单的操作,请参见设置白名单。
性能测试
OLAP场景压力测试
- 登录性能测试PTS控制台。
- 在左侧导航栏中选择 。
- 在创建场景页面,单击PTS压测。
- 在场景名右侧输入场景名称。
- 在场景配置页签,进行以下配置:
- 单击施压配置页签,配置压测模式配置。
参数 说明 压力来源 选择PTS的网络类型,本次示例为阿里云VPC内网。 VPC信息 选择PTS的VPC、安全组以及vSwitch。 说明- PTS的VPC和vSwitch需要与AnalyticDB PostgreSQL版实例的VPC和vSwitch一致。
- 如需新建安全组,请参见创建安全组。
压力模式 选择并发模式(虚拟用户模式)。 递增模式 选择自动递增。 最大并发 设置为您希望达到的最大并发,本次示例为15。 递增百分比 每次增加并发时的增幅,本次示例为20%。 单量级持续时长 每个并发数的测试时长,本次示例为20分钟。 压测总时长 总测试时长,本次示例为100分钟。 指定IP数 指定发起压测流量的IP地址数量,即施压机器的数量。本次示例为1。 - 为防止正式压测时由于人为配置错误导致压测失败,可以单击场景调试对测试整个串联链路中各个查询的连通性。如果出现异常,则表示压测API配置可能出错,建议检查并进行修改。
- 场景调试通过后,单击保存去压测。
OLAP场景压测结果
- 在性能测试PTS控制台左侧导航栏中,选择 。
- 单击目标PTS测试右侧操作列下的查看报告。
- 在报告页面,您可以查看成功率、平均RT、TPS、异常数和总请求数。说明
- 如果总请求数等信息均为0,表示压测任务运行失败,可以单击页面上方的查看采样日志,然后单击查看详情,在Error信息中查看报错信息,进行问题排查。
- 如果成功率不是100%可以在明细页签中查看是否有错误信息。
- 单击明细页签,可以查看整个测试链路中各个API的详细性能数据。
- 切换到AnalyticDB PostgreSQL版控制台,查看实例监控中的实例活跃连接数项目,验证PTS压测计划是否生效,查看方法,请参见实例监控。
可以看到实例的活跃连接如预期计划自动递增(由3并发逐步增加至15并发)。
点查询场景压力测试
- 登录性能测试PTS控制台。
- 在左侧导航栏中选择 。
- 在创建场景页面,单击PTS压测。
- 在场景名右侧输入场景名称。
- 在场景配置页签,进行以下配置:
- 单击施压配置页签,配置压测模式配置。
参数 说明 压力来源 选择PTS的网络类型,本次示例为阿里云VPC内网。 发起阿里云VPC内网性能测试的更多介绍,请参见如何发起阿里云VPC内网性能测试。
VPC信息 选择PTS的VPC、安全组以及vSwitch。 说明- PTS的VPC和vSwitch需要与AnalyticDB PostgreSQL版实例的VPC和vSwitch一致。
- 如需新建安全组,请参见创建安全组。
压力模式 选择并发模式(虚拟用户模式)。 递增模式 选择自动递增。 最大并发 设置为您希望达到的最大并发,本次示例为50。 递增百分比 为保证并发数始终为50,本次示例为100%。 单量级持续时长 为保证并发数始终为50,本次示例为1分钟。 压测总时长 总测试时长,本次示例为10分钟。 指定IP数 指定发起压测流量的IP地址数量,即施压机器的数量。本次示例固定为1。 - 为防止正式压测时由于人为配置错误导致压测失败,可以单击场景调试对测试整个串联链路中各个查询的连通性。如果出现异常,则表示压测API配置可能出错,建议检查并进行修改。
- 场景调试通过后,单击保存去压测。
点查询场景压测结果
- 在性能测试PTS控制台左侧导航栏中,选择 。
- 单击目标PTS测试右侧操作列下的查看报告。
- 报告示例如下:
- 切换到AnalyticDB PostgreSQL版控制台,查看节点监控中CPU使用率项目,查看方法,请参见节点监控。
通过上述信息可以看到计算节点的CPU使用率达到了较高的水位。
- 切换到AnalyticDB PostgreSQL版控制台,查看实例监控中的实例活跃连接数项目,查看方法,请参见实例监控。
可以看到实例的活跃连接数达到了PTS设置的50并发。
PTS与PGBench的对比
- PTS支持各种类型的数据库测试,并发可动态调整,发起压测的机器数量可自由设置,压测可以不局限于一台机器。
- PTS支持云内网压测,无需单独购买ECS实例作为压测发起机器。
- PTS配置简单,无需进行人工脚本书写,并且支持系统函数。
- PTS支持正式压测前的场景测试。
- PTS支持多样化的场景设置,例如超时时间、连接池设置等。
- PTS可提供全面的压测可视化结果,并详细记录了测试过程中的重要数据。