一、环境介绍
1、集群节点情况
- (1)4.0.13
Starting component `cluster`: /root/.tiup/components/cluster/v1.16.0/tiup-cluster display tidb-122-v4.0.13
Cluster type: tidb
Cluster name: tidb-122-v4.0.13
Cluster version: v4.0.13
Deploy user: tidb
SSH type: builtin
Dashboard URL: http://192.168.65.11:13122/dashboard
Grafana URL: http://192.168.64.244:20122
ID Role Host Ports OS/Arch Status Data Dir Deploy Dir
-- ---- ---- ----- ------- ------ -------- ----------
192.168.64.14:21122 alertmanager 192.168.64.14 21122/22122 linux/x86_64 Up /data/tidb/data/alertmanager-21122 /data/tidb/deploy/alertmanager-21122
192.168.64.244:20122 grafana 192.168.64.244 20122 linux/x86_64 Up - /data/tidb/deploy/grafana-20122
192.168.64.246:13122 pd 192.168.64.246 13122/14122 linux/x86_64 Up /data/tidb/data/pd-13122 /data/tidb/deploy/pd-13122
192.168.65.11:13122 pd 192.168.65.11 13122/14122 linux/x86_64 Up|UI /data/tidb/data/pd-13122 /data/tidb/deploy/pd-13122
192.168.65.3:13122 pd 192.168.65.3 13122/14122 linux/x86_64 Up|L /data/tidb/data/pd-13122 /data/tidb3/deploy/pd-13122
192.168.65.7:19122 prometheus 192.168.65.7 19122 linux/x86_64 Up /data/tidb/data/prometheus-19122 /data/tidb/deploy/prometheus-19122
192.168.64.2:15122 tidb 192.168.64.2 15122/16122 linux/x86_64 Up - /data/tidb/deploy/tidb-15122
192.168.64.21:15122 tidb 192.168.64.21 15122/16122 linux/x86_64 Up - /data/tidb/deploy/tidb-15122
192.168.64.22:15122 tidb 192.168.64.22 15122/16122 linux/x86_64 Up - /data/tidb/deploy/tidb-15122
192.168.66.218:17122 tikv 192.168.66.218 17122/18122 linux/x86_64 Up /data/tidb/data/tikv-17122 /data/tidb/deploy/tikv-17122
192.168.66.239:17122 tikv 192.168.66.239 17122/18122 linux/x86_64 Up /data/tidb/data/tikv-17122 /data/tidb/deploy/tikv-17122
192.168.67.107:17122 tikv 192.168.67.107 17122/18122 linux/x86_64 Up /data/tidb/data/tikv-17122 /data/tidb/deploy/tikv-17122
Total nodes: 12
server_configs:
tidb:
binlog.enable: false
binlog.ignore-error: false
log.file.max-days: 30
log.slow-threshold: 300
mem-quota-query: 10737418240
tikv:
log.file.max-days: 30
raftdb.defaultcf.write-buffer-size: 128MB
readpool.coprocessor.use-unified-pool: true
readpool.storage.use-unified-pool: true
readpool.unified.max-thread-count: 24
rocksdb.defaultcf.block-cache-size: 3GB
rocksdb.defaultcf.block-size: 64KB
rocksdb.defaultcf.write-buffer-size: 128MB
rocksdb.writecf.block-cache-size: 3GB
rocksdb.writecf.write-buffer-size: 128MB
storage.block-cache.capacity: 6GB
- (2)7.5.5
Starting component `cluster`: /root/.tiup/components/cluster/v1.16.0/tiup-cluster display tidb-148-v7.5.5
Cluster type: tidb
Cluster name: tidb-148-v7.5.5
Cluster version: v7.5.5
Deploy user: tidb
SSH type: builtin
Dashboard URL: http://192.168.65.179:13148/dashboard
Grafana URL: http://192.168.65.90:20148
ID Role Host Ports OS/Arch Status Data Dir Deploy Dir
-- ---- ---- ----- ------- ------ -------- ----------
192.168.64.16:21148 alertmanager 192.168.64.16 21148/22148 linux/x86_64 Up /data/tidb/data/alertmanager-21148 /data/tidb/deploy/alertmanager-21148
192.168.65.90:20148 grafana 192.168.65.90 20148 linux/x86_64 Up - /data/tidb/deploy/grafana-20148
192.168.65.13:13148 pd 192.168.65.13 13148/14148 linux/x86_64 Up /data/tidb/data/pd-13148 /data/tidb/deploy/pd-13148
192.168.65.179:13148 pd 192.168.65.179 13148/14148 linux/x86_64 Up|L|UI /data/tidb/data/pd-13148 /data/tidb/deploy/pd-13148
192.168.65.181:13148 pd 192.168.65.181 13148/14148 linux/x86_64 Up /data/tidb/data/pd-13148 /data/tidb/deploy/pd-13148
192.168.65.9:19148 prometheus 192.168.65.9 19148/40148 linux/x86_64 Up /data/tidb/data/prometheus-19148 /data/tidb/deploy/prometheus-19148
192.168.64.15:15148 tidb 192.168.64.15 15148/16148 linux/x86_64 Up - /data/tidb/deploy/tidb-15148
192.168.64.6:15148 tidb 192.168.64.6 15148/16148 linux/x86_64 Up - /data/tidb/deploy/tidb-15148
192.168.65.84:15148 tidb 192.168.65.84 15148/16148 linux/x86_64 Up - /data/tidb/deploy/tidb-15148
192.168.66.218:17148 tikv 192.168.66.218 17148/18148 linux/x86_64 Up /data/tidb/data/tikv-17148 /data/tidb/deploy/tikv-17148
192.168.66.239:17148 tikv 192.168.66.239 17148/18148 linux/x86_64 Up /data/tidb/data/tikv-17148 /data/tidb/deploy/tikv-17148
192.168.67.107:17148 tikv 192.168.67.107 17148/18148 linux/x86_64 Up /data/tidb/data/tikv-17148 /data/tidb/deploy/tikv-17148
Total nodes: 12
server_configs:
tidb:
binlog.enable: false
binlog.ignore-error: false
log.file.max-days: 30
mem-quota-query: 10737418240
new_collations_enabled_on_first_bootstrap: false
tikv:
log.file.max-days: 30
raftdb.defaultcf.write-buffer-size: 128MB
readpool.coprocessor.use-unified-pool: true
readpool.storage.use-unified-pool: true
readpool.unified.max-thread-count: 24
rocksdb.defaultcf.block-cache-size: 3GB
rocksdb.defaultcf.block-size: 64KB
rocksdb.defaultcf.write-buffer-size: 128MB
rocksdb.writecf.block-cache-size: 3GB
rocksdb.writecf.write-buffer-size: 128MB
storage.block-cache.capacity: 6GB
两套集群的tikv节点都是三个,且在相同的机器,自定义的配置都是一致其余配置使用的是相应版本的默认值。
tikv的机器内存/cpu分别为192GB/48C。
二、开始测试
1、prepare
sysbench /usr/local/sysbench/src/lua/oltp_read_write.lua \
--mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor \
--mysql-user=test --mysql-password=123456 --table_size=10000000 \
--tables=32 --threads=8 --report-interval=10 --time=60 prepare
192.168.1.100 是vip,rs绑了三个tidb节点。
2、run
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_point_select.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=50 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_read_write.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=50 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_update_non_index.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=50 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_update_index.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=50 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_insert.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=50 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_point_select.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=100 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_read_write.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=100 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_update_non_index.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=100 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_update_index.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=100 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_insert.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=100 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_point_select.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=200 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_read_write.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=200 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_update_non_index.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=200 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_update_index.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=200 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
sleep 120
/usr/local/sysbench/bin/sysbench /usr/local/sysbench/src/lua/oltp_insert.lua --mysql-host=192.168.1.100 --mysql-port=15122 --mysql-db=tidb_monitor --mysql-user=test --mysql-password=123456 --table_size=100000000 --tables=32 --threads=200 --report-interval=10 --time=120 --db-driver=mysql --mysql-ignore-errors=1317,1105,1062,2013,8028,9007 --auto-inc=false run
两个版本都是使用这个测试脚本。
(1)oltp_point_select
- 50并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 107785.87 per sec | 107785.87 per sec | 0.62 | 0.00 | 0.00 |
7.5.5 | 94829.96 per sec | 94829.96 per sec | 0.68 | 0.00 | 0.00 |
下图是4.0.13版本50并发测试点查的监。
下图是7.5.5版本50并发测试点查的监控。
在50并发的点查场景下4.0.13
的QPS比7.5.5
高13.6%
左右。
- 100并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 180542.38 per sec | 180542.38 per sec | 0.90 | 0.00 | 0.00 |
7.5.5 | 166434.82 per sec | 166434.82 per sec | 0.77 | 0.00 | 0.00 |
下图是4.0.13版本100并发测试点查的监。
下图是7.5.5版本100并发测试点查的监控。
在100并发的点查场景下4.0.13
的QPS比7.5.5
高8.5%
左右。
- 200并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 272830.16 per sec | 272830.16 per sec | 1.37 | 0.00 | 0.00 |
7.5.5 | 254208.77 per sec | 254208.77 per sec | 1.25 | 0.00 | 0.00 |
下图是4.0.13版本200并发测试点查的监。
下图是7.5.5版本200并发测试点查的监控。
在200并发的点查场景下4.0.13
的QPS比7.5.5
高7.3%
左右。
可以发现4.0.13
版本更胜一筹,但是随着并发数的增加,4.0.13
与7.5.5
的差距越来越小。
(2)oltp_read_write
- 50并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 2819.05 per sec | 56381.01 per sec | 22.69 | 0.00 | 0.00 |
7.5.5 | 3145.99 per sec | 62919.74 per sec | 20.00 | 0.00 | 0.00 |
下图是4.0.13版本50并发测试混合读写的监控。
下图是7.5.5版本50并发测试混合读写的监控。
在50并发的混合读写场景下7.5.5
的QPS比4.0.13
高11.6%
左右,TPS也高11.6%
左右。
- 100并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 4491.66 per sec | 89833.20 per sec | 30.81 | 0.00 | 0.00 |
7.5.5 | 5151.71 per sec | 103034.10 per sec | 36.24 | 0.00 | 0.00 |
下图是4.0.13版本100并发测试混合读写的监控。
下图是7.5.5版本50并发测试混合读写的监控
在100并发的混合读写场景下7.5.5
的QPS比4.0.13
高14.7%
左右,TPS也高14.7%
左右。
- 200并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 6400.51 per sec | 128010.17 per sec | 45.76 | 0.00 | 0.00 |
7.5.5 | 7616.74 per sec | 152334.76 per sec | 38.94 | 0.00 | 0.00 |
下图是4.0.13版本200并发测试混合读写的监控。
下图是7.5.5版本200并发测试混合读写的监控
在200并发的混合读写场景下7.5.5
的QPS比4.0.13
高19.0%
左右,TPS也高19.0%
左右。
可以发现7.5.5
版本更胜一筹,但是随着并发数的增加,4.0.13
与7.5.5
的差距越来越大。
(3)oltp_update_non_index
- 50并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 48713.41 per sec | 48713.41 per sec | 2.81 | 0.00 | 0.00 |
7.5.5 | 43938.59 per sec | 43938.59 per sec | 2.66 | 0.00 | 0.00 |
下图是4.0.13版本50并发测试update(非索引字段)的监控。
下图是7.5.5版本50并发测试update(非索引字段)的监控。
在50并发的更新(非索引字段)场景下4.0.13
的QPS比7.5.5
高10.8%
左右。
- 100并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 84544.40 per sec | 84544.40 per sec | 3.30 | 0.00 | 0.00 |
7.5.5 | 79655.79 per sec | 79655.79 per sec | 2.91 | 0.00 | 0.00 |
下图是4.0.13版本100并发测试update(非索引字段)的监控。
下图是7.5.5版本100并发测试update(非索引字段)的监控
在100并发的更新(非索引字段)场景下4.0.13
的QPS比7.5.5
高6.1%
左右。
- 200并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 138425.84 per sec | 138425.84 per sec | 4.25 | 0.00 | 0.00 |
7.5.5 | 132828.30 per sec | 132828.30 per sec | 3.55 | 0.00 | 0.00 |
下图是4.0.13版本200并发测试update(非索引字段)的监控。
下图是7.5.5版本200并发测试update(非索引字段)的监控
在200并发的更新(非索引字段)场景下4.0.13
的QPS比7.5.5
高4.2%
左右。
可以发现4.0.13
版本更胜一筹,但是随着并发数的增加,4.0.13
与7.5.5
的差距越来越小。
(4)oltp_update_index
- 50并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 45825.97 per sec | 45825.97 per sec | 3.30 | 0.00 | 0.00 |
7.5.5 | 43055.16 per sec | 43055.16 per sec | 2.97 | 0.00 | 0.00 |
下图是4.0.13版本50并发测试update(索引字段)的监控。
下图是7.5.5版本50并发测试update(索引字段)的监控。
在50并发的更新(索引字段)场景下4.0.13
的QPS比7.5.5
高6.4%
左右。
- 100并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 76988.37 per sec | 76988.37 per sec | 4.25 | 0.00 | 0.00 |
7.5.5 | 76226.68 per sec | 76226.68 per sec | 3.36 | 0.00 | 0.00 |
下图是4.0.13版本100并发测试update(索引字段)的监控。
下图是7.5.5版本100并发测试update(索引字段)的监控
在100并发的更新(索引字段)场景下4.0.13
的QPS比7.5.5
高0.9%
左右。
- 200并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 118813.89 per sec | 118813.89 per sec | 6.32 | 0.00 | 0.00 |
7.5.5 | 122710.48 per sec | 122710.48 per sec | 4.57 | 0.00 | 0.00 |
下图是4.0.13版本200并发测试update(索引字段)的监控。
下图是7.5.5版本200并发测试update(索引字段)的监控
在200并发的更新(索引字段)场景下7.5.5
的QPS比4.0.13
高3.2%
左右。
可以发现在200并发之前4.0.13
版本更胜一筹,但是随着并发数的增加,4.0.13
与7.5.5
的差距越来越小,甚至在达到200并发后出现了反超。
(5)oltp_insert
- 50并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 13531.01 per sec | 13531.01 per sec | 6.55 | 36.6 | 0.00 |
7.5.5 | 17732.28 per sec | 17732.28 per sec | 3.68 | 44.29 | 0.00 |
下图是4.0.13版本50并发测试写入的监控。
下图是7.5.5版本50并发测试写入的监控。
在50并发的只写场景下7.5.5
的QPS比4.0.13
高31.05%
左右。
- 100并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 20573.49 per sec | 20573.49 per sec | 8.28 | 751.10 | 0.00 |
7.5.5 | 27089.88 per sec | 27089.88 per sec | 5.57 | 956.16 | 0.00 |
下图是4.0.13版本100并发测试写入的监控。
下图是7.5.5版本100并发测试写入的监控。
在100并发的只写场景下7.5.5
的QPS比4.0.13
高31.67%
左右。
- 200并发
版本 | QPS | TPS | 95% latency (ms) | err/s | reconn/s |
---|---|---|---|---|---|
4.0.13 | 29524.14 per sec | 29524.14 per sec | 11.04 | 2096.59 | 0.00 |
7.5.5 | 36499.11 per sec | 36499.11 per sec | 8.58 | 2523.04 | 0.00 |
下图是4.0.13版本200并发测试写入的监控。
下图是7.5.5版本200并发测试写入的监控。
在200并发的只写场景下7.5.5
的QPS比4.0.13
高23.6%
左右。
可以发现7.5.5
版本更胜一筹,但是随着并发数的增加,4.0.13
与7.5.5
的差距越来越小。
三、监控情况
1、prepare阶段
(1)prepare阶段总共耗时
创建32张表,每张表1000w数据量,各版本耗时分别如下。
版本 | 耗时 |
---|---|
4.0.13 | 1h32min |
7.5.5 | 1h5min |
(2)prepare阶段集群Duration监控
- 4.0.13
- 7.5.5
(3)prepare阶段集群Transaction Duration监控
- 4.0.13
- 7.5.5
(4)prepare阶段tikv CPU监控
- 4.0.13
- 7.5.5
(5)prepare阶段tikv IO Util监控
- 4.0.13
- 7.5.5
(6)prepare阶段tikv IOPS监控
- 4.0.13
没有合并的图形,其他两个节点的iops也差不多这个监控走势。
- 7.5.5
(7)prepare阶段tikv内存监控
- 4.0.13
- 7.5.5
(8)prepare阶段tidb节点的内存监控
- 4.0.13
- 7.5.5
(9)prepare完成后集群大小
- 4.0.13
- 7.5.5
2、run阶段
(1)run阶段集群Duration监控
- 4.0.13
- 7.5.5
(3)run阶段集群Transaction Duration监控
- 4.0.13
- 7.5.5
(4)run阶段tikv CPU监控
- 4.0.13
- 7.5.5
(5)run阶段tikv IO Util监控
- 4.0.13
- 7.5.5
(6)run阶段tikv IOPS监控
- 4.0.13
没有合并的图形,其他两个节点的iops也差不多这个监控走势。
- 7.5.5
(7)run阶段tikv内存监控
- 4.0.13
- 7.5.5
(8)run阶段tidb内存监控
- 4.0.13
- 7.5.5
(9)run阶段QPS/TPS监控
- 4.0.13
- 7.5.5
四、总结
从测试结果来看,oltp_point_select
、oltp_update_non_index
两个场景下4.0.13
更胜一筹,oltp_read_write
、oltp_insert
两个场景下7.5.5
更胜一筹,oltp_update_index
场景则是在50 100
两个并发更胜一筹,在200
并发下,7.5.5
反超。
并发高于
200
的场景,7.5.5的成绩可能会更好,但是感觉意义不是很大,正常各业务不太可能有那么高的并发数,200
并发应该能覆盖90%
的业务了。
从结果看,7.5.5
版本在压测期间CPU 内存
的使用情况都比4.0.13
更高,而QPS TPS
并没有比4.0.13
更好,甚至有些场景不如4.0.13
,所以似乎并没有被惊艳到。
对这个测试结果有些意外,不太相信新版本的成绩是这样的不堪,不知道是这个测试流程有问题还是有什么细节没注意到。当然基准测试跟业务的实际流量还是有差别的,业务实际流量更像是混合读写的场景,在该场景下,7.5.5
还是略强一些的,但也仅仅是略胜一筹而已。
另外值得一提的是,7.5.5
的压缩比应该是强于4.0.13
,相同数据量的情况下,前者磁盘占比大概是后者的65%
左右。
如果想升级新版本的小伙伴建议还是慎重一些,按需升级,如果是旧版本没有遇到什么问题还是不建议轻易尝试升级吧。
比如
7.5.5
版本大表加索引可能会遇到意想不到的问题。 https://tidb.net/blog/b2ddded3
以上仅供参考。