文档

Sysbench测试(标准版)

更新时间:

本文详细介绍了PolarDB-X 标准版的Sysbench测试设计、测试过程和测试结果。

背景信息

PolarDB-X标准版采用了一主一备一日志的三节点架构,通过多副本同步复制确保数据的强一致性。面向具备超高并发、复杂查询及轻量分析的在线业务场景的数据库,本文将验证PolarDB-X标准版的通用规格,引擎版本分别为MySQL 5.7和MySQL 8.0的实例在Sysbench读写场景中的性能表现,分别测试内存命中型和磁盘I/O型。

  • 内存命中型:适用于数据量较小的场景,可将数据全量放入Buffer Pool进行存取。

  • 磁盘I/O型:适用于数据量大的场景,只将最常访问的数据放入Buffer Pool进行存取。

测试设计

本次压测采用业界标准的SysBench,分别对PolarDB-X标准版的通用规格,引擎版本为MySQL 5.7和MySQL 8.0的实例进行测试,实例具体规格如下:

  • 引擎版本:MySQL 5.7、MySQL 8.0

  • 部署拓扑:单可用区

  • 系列:标准版

  • 规格系列:通用规格

  • 节点规格:2C4G、2C8G、4C8G、4C16G、8C16G、8C32G、16C32G、16C64G

  • 存储类型:本地SSD盘

测试工具

  1. 下载Sysbench压测工具包sysbench.tar.gz,并解压。

    tar xzvf sysbench.tar.gz
    cd sysbench/
  2. 安装编译所需依赖库。

    yum -y install make automake libtool pkgconfig libaio-devel mysql-devel
    ./autogen.sh
    ./configure
    make -j
    make install
  3. 执行sysbench --version,如果返回sysbench 1.1.0表示测试工具安装成功。

也可以通过GitHub下载开源版本的Sysbench,请参见下载链接

测试场景说明

  • 数据量:不同规格采用不同数据量压测。

  • 压测场景:使用Sysbench oltp_read_write场景压测。

  • 压测时长:每个场景300秒。

  • 实例参数设置:全部采用开箱参数,不手动设置任何参数。

测试过程

  1. 准备数据:

    sysbench --mysql-host='xxxx' --histogram='on' --mysql-user='xxx' --percentile='95' --threads='xxx' --db-ps-mode='disable' --report-interval='1' --mysql-password='xxx' --tables='xxx' --table-size='xxx' --db-driver='mysql' --time='300' --rand-type='uniform' --mysql-port='3306' --events='0' --mysql-db=xxx prepare 
  2. 运行压测:

    sysbench --mysql-host='xxxx' --histogram='on' --mysql-user='xxx' --percentile='95' --threads='xxx' --db-ps-mode='disable' --report-interval='1' --mysql-password='xxx' --tables='xxx' --table-size='xxx' --db-driver='mysql' --time='300' --rand-type='uniform' --mysql-port='3306' --events='0' --mysql-db=xxx oltp_read_write run
  3. 清理数据 :

    sysbench --mysql-host='xxxx' --histogram='on' --mysql-user='xxx' --percentile='95' --threads='xxx' --db-ps-mode='disable' --report-interval='1' --mysql-password='xxx' --tables='xxx' --table-size='xxx' --db-driver='mysql' --time='300' --rand-type='uniform' --mysql-port='3306' --events='0' --mysql-db=xxx  cleanup
    • table_size:每张表数据量,不同规格压测数据量不同;

    • tables:表数量不同规格压测表数量不同;

    • threads:压测并发数,不同规格,并发数不同;

    • time:压测时长,本文一般采用300秒;

    • mysql-host、mysql-user、mysql-password是实例的链接信息。

测试结果

MySQL 5.7内存命中型

image.png

image.png

规格

并发度

单表数据量

表总数

TPS

QPS

avg_lat(ms)

2c4g

16

25000

32

2159.32

43186.46

7.41

2c8g

16

25000

32

2160.87

43217.47

7.4

4c8g

32

25000

128

4401.47

88029.51

7.27

4c16g

32

25000

128

4559.71

91194.13

7.02

8c16g

64

25000

128

5617.85

112357.06

11.39

8c32g

64

25000

128

5484.87

109697.38

11.67

16c32g

128

25000

128

7052.84

141056.88

18.16

16c64g

128

25000

128

6777.49

135549.81

18.89

MySQL 5.7磁盘I/O型

image.png

image.png

规格

并发度

单表数据量

表总数

TPS

QPS

avg_lat(ms)

2c4g

16

800000

8

1905.83

38116.62

8.39

2c8g

16

800000

16

2025.03

40500.52

7.9

4c8g

32

800000

16

3962.31

79246.15

8.07

4c16g

32

800000

56

4230.72

84614.39

7.56

8c16g

64

800000

56

5351.63

107032.58

11.96

8c32g

64

800000

128

5005.15

100102.93

12.78

16c32g

128

800000

128

7029.69

140593.7

18.21

16c64g

128

800000

256

7170.61

143412.16

17.87

MySQL 8.0内存命中型

image.png

image.png

规格

并发度

单表数据量

表总数

TPS

QPS

avg_lat(ms)

2c4g

16

25000

32

1318.93

26378.61

12.13

2c8g

16

25000

32

1362.21

27244.23

11.74

4c8g

32

25000

128

3203.1

64061.78

9.99

4c16g

32

25000

128

3214.48

64289.47

9.97

8c16g

64

25000

128

4779.7

95593.92

13.4

8c32g

64

25000

128

4749.49

94989.77

13.48

16c32g

128

25000

128

6513.68

130273.59

19.66

16c64g

128

25000

128

6768.86

135377.16

18.93

MySQL 8.0磁盘I/O型

image.png

image.png

规格

并发度

单表数据量

表总数

TPS

QPS

avg_lat(ms)

2c4g

16

800000

8

1284.5

25689.93

12.46

2c8g

16

800000

16

1283.5

25669.88

12.46

4c8g

32

800000

16

2971.33

59426.56

10.77

4c16g

32

800000

56

2880.59

57611.66

11.11

8c16g

64

800000

56

4503.08

90061.54

14.22

8c32g

64

800000

128

4599.33

91986.51

13.91

16c32g

128

800000

128

5804.74

116094.72

22.05

16c64g

128

800000

256

6134.86

122697.16

20.86

  • 本页导读 (0)