目录

返回首页

返回 建站套件 - PHP/MySQL/Web

返回 性能测试

MySQL 数据库性能测试

本功能为性能性能模块的功能之一,2020/08/28 以后发布的性能测试模块(benchmark)支持。

运行测试

2020-08-28 16:18:05 准备运行 Sysbench 测试目标MySQL 服务器 127.0.0.1:3306, 16 线程, 测试时长 300 秒
2020-08-28 16:18:05 创建数据库...
2020-08-28 16:18:05 生成测试数据.. 10 个表, 每个表 1 万条数据
2020-08-28 16:18:06 开始运行测试...
2020-08-28 16:23:07 测试完成
[ 270s ] thds: 16 tps: 537.54 qps: 10767.89 (r/w/o: 7540.63/2151.18/1076.09) lat (ms,95%): 44.17 err/s: 1.00 reconn/s: 0.00
[ 280s ] thds: 16 tps: 521.60 qps: 10444.40 (r/w/o: 7312.10/2088.60/1043.70) lat (ms,95%): 46.63 err/s: 0.50 reconn/s: 0.00
[ 290s ] thds: 16 tps: 539.60 qps: 10800.23 (r/w/o: 7562.52/2157.61/1080.10) lat (ms,95%): 44.17 err/s: 0.90 reconn/s: 0.00
[ 300s ] thds: 16 tps: 511.28 qps: 10234.64 (r/w/o: 7163.75/2048.33/1022.56) lat (ms,95%): 49.21 err/s: 0.40 reconn/s: 0.00
SQL statistics:
    queries performed:
        read:                            2214464
        write:                           632165
        other:                           316172
        total:                           3162801
    transactions:                        157996 (526.57 per sec.)
    queries:                             3162801 (10541.01 per sec.)
    ignored errors:                      180    (0.60 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          300.0452s
    total number of events:              157996

Latency (ms):
         min:                                    6.38
         avg:                                   30.38
         max:                                  104.14
         95th percentile:                       45.79
         sum:                              4799469.26

Threads fairness:
    events (avg/stddev):           9874.7500/24.81
    execution time (avg/stddev):   299.9668/0.01

测试小结:

QPS :Queries Per Second,即数据库每秒执行的 SQL 数(增删改查等)。
TPS :Transactions Per Second,即数据库每秒执行的事务数,以 commit 成功次数为准。
 RT :Response Time,95% 以上的最大响应时间(毫秒)。

16 线程/10 张表/单表数据量 1 万条

QPS = 10541.01
TPS = 526.57
 RT = 45.79 ms

上述测试基于 MySQL 使用 NVME SSD 作为数据存储,对比使用机械磁盘,测试如下:

16 线程/10 张表/单表数据量 1 万条

QPS = 4853.75
TPS = 242.37
 RT = 94.10 ms

可以看到,磁盘的读写性能对 MySQL 影响非常大,建议使用 SSD。

附基准测试数据

测试时长 5分钟,供参考:

磁盘类型线程表个数单表数据量(万条)QPSTPS延迟(RT)
NVME SSD16 10 1W 10541 526 45.8 ms
NVME SSD16 10 10W 10316 515 48.3 ms
NVME SSD16 10 100W 6806 340 94.1 ms
NVME SSD32 10 1W 10743 536 95.8 ms
NVME SSD32 10 10W 10747 537 103.0 ms
NVME SSD32 10 100W 8102 405 147.6 ms
SATA 8T 机械盘16 10 1W 4853 242 94.1 ms
SATA 8T 机械盘16 10 10W 3893 194 170.5 ms
SATA 8T 机械盘16 10 100W 840 42 802.1 ms
SATA 8T 机械盘32 10 1W 6330 315 164.5 ms
SATA 8T 机械盘32 10 10W 1795 90 277.2 ms
SATA 8T 机械盘32 10 100W 800 40 2632.3 ms

云数据库测试

阿里云RDS云数据库性能测试:

数据库类型:常规实例(高可用版)

存储类型:本地SSD盘

测试前的准备:

在RDS上创建账号(普通账号,读写权限),创建测试数据库(数据库名:bench_test)

2021-01-21 15:01:26 准备运行 Sysbench 测试目标MySQL 服务器 rm-***.mysql.rds.aliyuncs.com:3306, 16 线程, 测试时长 60 秒
2021-01-21 15:01:26 创建数据库...
2021-01-21 15:01:26 生成测试数据.. 10 个表, 每个表 10 万条数据
2021-01-21 15:01:36 开始运行测试...
2021-01-21 15:02:36 测试完成
[ 30s ] thds: 16 tps: 371.50 qps: 7422.27 (r/w/o: 5195.18/1484.29/742.80) lat (ms,95%): 45.79 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 16 tps: 372.70 qps: 7454.86 (r/w/o: 5218.34/1491.11/745.41) lat (ms,95%): 45.79 err/s: 0.00 reconn/s: 0.00
[ 50s ] thds: 16 tps: 373.20 qps: 7467.06 (r/w/o: 5227.57/1493.09/746.40) lat (ms,95%): 45.79 err/s: 0.00 reconn/s: 0.00
[ 60s ] thds: 16 tps: 373.40 qps: 7467.47 (r/w/o: 5227.15/1493.31/747.01) lat (ms,95%): 45.79 err/s: 0.00 reconn/s: 0.00
SQL statistics:
    queries performed:
        read:                            312452
        write:                           89272
        other:                           44636
        total:                           446360
    transactions:                        22318  (371.72 per sec.)
    queries:                             446360 (7434.31 per sec.)
    ignored errors:                      0      (0.00 per sec.)
    reconnects:                          0      (0.00 per sec.)

General statistics:
    total time:                          60.0391s
    total number of events:              22318

Latency (ms):
         min:                                   39.89
         avg:                                   43.03
         max:                                  136.10
         95th percentile:                       45.79
         sum:                               960287.14

Threads fairness:
    events (avg/stddev):           1394.8750/46.35
    execution time (avg/stddev):   60.0179/0.01

测试小结:

QPS :Queries Per Second,即数据库每秒执行的 SQL 数(增删改查等)。
TPS :Transactions Per Second,即数据库每秒执行的事务数,以 commit 成功次数为准。
 RT :Response Time,95% 以上的最大响应时间(毫秒)。

16 线程/10 张表/单表数据量 10 万条

QPS = 7434.31
TPS = 371.72
 RT = 45.79 ms