本文介绍PolarDB MySQL 8.0集群版的OLTP负载性能测试结果。

PolarDB MySQL 8.0优化器支持CBO和RBO两种模式。
  • CBO(Cost-Based Optimization):根据统计信息或实时采样,结合代价模型评估出代价最小的执行方案。
  • RBO(Rule-Based Optimization):使用预定规则锁定执行方案。

PolarDB MySQL 8.0优化器主要模式为CBO,并支持将RBO作为特定情况下的补充模式。您可以通过ANALYZE命令收集优化器所需要的统计信息,也可以让优化器自动收集统计信息,统计信息包括表大小和记录数、密度向量(density vector)、单列混合直方图(hybrid histogram)、NDV和null ratio。CBO代价模型参数可以通过系统表配置适应软硬件环境,同时可以锁定查询的执行路径或控制CBO搜索范围,防止产出错误的执行方案。

说明 具体测试步骤请参见性能测试方法(OLTP)

主节点+单只读节点

  • 图 1. 各规格只读性能测试结果
    1
    说明 上述测试中未开启所有范围的查询,即设置了range_selects参数为0,故性能较高。
  • 图 2. 各规格写入性能测试结果
    2
    说明 上述查询中:
    • 写入QPS:指数据库每秒执行的SQL请求(包含BEGIN、COMMIT、INSERT、UPDATE、DELETE)数。
    • 写入TPS:指数据库每秒执行的事务数,以COMMIT成功次数为准。

    更多关于写入QPS和写入TPS的测试方法,请参见使用SysBench测试写入性能

  • 图 3. 各规格混合读写测试结果
    3

主节点+多只读节点

图 4. 只读性能测试结果
4
说明
  • 上图显示的是使用集群连接串测试的只读QPS结果。
  • 上述测试中未指定range_selects参数,即默认开启了所有范围的查询。
  • 上述测试的集群规格为4核16 GB。