体验升级至4.0

体验升级至4.0

 -- 2020-06-09 刘春雷 58同城

前言:

自从官方 2020 年 4 月 8 日 发布4.0.0-rc, 及 5 月 28 日 发布4.0.0 版本,58同城就开始的4.0的版本的测试及升级上线的工作。从测试TiFlash,测试4.0 版本性能等,线上陆续已经部署及升级了8套集群,TiFlash 也上了2套+。也经历了一些小问题,总体上平稳,性能有较大提升,希望tidb小伙伴及时升级4.0吧~

1、汇总

3.0.7升级至4.0.0版本,SQL执行时间降低93%+,任务执行时间降低96.9%,满足了5分钟内执行完任务的需求。

分类 3.0.7 4.0.0 对比
执行时间 999:15.51s
99 :7.99s
95 :3.245s
80 :1.275s
999:974ms
99 :123ms
95 :79ms
80 :8ms
999:降低93.72%
99 :降低98.46%
95 :降低97.56%
80 :降低99.37%
任务执行时间 平均:6615s 平均:205s 降低96.9%

2、基本信息

【集群】:

6666-1 (虚拟)

【版本】:

3.0.7

【实例】

tidb * 5

PD于TiDB 混合部署 *3

tikv * 3

【机器情况】

角色 机器
TiDB & PD 内存:192G
CPU:Intel® Xeon® Silver 4114 CPU @ 2.20GHz 2x20
磁盘:6x600G SAS
TiKV 内存:192G
CPU: Intel® Xeon® Silver 4114 CPU @ 2.20GHz 2x20
磁盘:3x1.8T 闪存卡

【业务情况】

DBA内部使用的数据库,存储某些数据库的链接等信息

3、问题

SQL执行时间长,无法满足5分钟内写完所有数据

4、解决

先升级至4.0版本,看是否可以满足,如果不满足再扩充资源

4.1、升级方案

方案1:使用ansible升级至4.0 ,测试可以

方案2:先导入至tiup,然后使用tiup升级,测试可以

官方推荐方案2

4.2、执行升级

【准备工作】:

注意检查tiup的需要环境,互信,目录权限等 比如:chown tidb.tidb /home/tidb -R

【导入配置】:

导入配置至tiup

登录中控机

cd tidb-ansible-3.0.7-6666

tiup cluster import -r 6666-dba

tiup cluster edit-config 6666-dba

要注意monitored端口配置,及server_configs部分(导入此部分没有,可以手动按需设置):

因为58这边是按照server单独设置node_exporter_port 和blackbox_exporter_port,所以需要注意下配置文件的这些端口配置

monitored:

node_exporter_port: 1600

blackbox_exporter_port: 1601

deploy_dir: /tidb6666/monitor-1600

data_dir: data/monitor-1600

log_dir: /opt/soft/tidb6666/monitor-1600/log

server_configs:

tidb:

binlog.enable: false

binlog.ignore-error: false

log.slow-threshold: 300

tikv:

raftstore.hibernate-regions: true

raftstore.store-pool-size: 4

readpool.coprocessor.use-unified-pool: true

readpool.storage.use-unified-pool: false

readpool.unified.max-thread-count: 4

storage.block-cache.capacity: 80G

pd:

replication.location-labels:

- host

tiflash:

logger.level: info

tiflash-learner: {}

pump: {}

drainer: {}

cdc: {}

【查看拓扑】:

tiup cluster display 6666-dba

【执行升级】 : tiup cluster upgrade 6666-dba v4.0.0

升级失败情况:

【1】问题:部分tikv存在关闭失败情况

     处理:手动去tikv机器上执行sh stop_tikv.sh,再开启,然后再执行升级命令即可

【2】问题:目录权限导致报错,秘钥相关命令执行失败

     处理:例如chown tidb.tidb /home/tidb -R

【3】问题:联网下载失败,导致升级失败

     处理:重新执行升级命令即可

5、升级后情况

SQL执行时间降低93%+,任务执行时间降低96.9%,满足了5分钟内执行完任务的需求。

分类 3.0.7 4.0.0 对比
执行时间 999:15.51s
99 :7.99s
95 :3.245s
80 :1.275s
999:974ms
99 :123ms
95 :79ms
80 :8ms
999:降低93.72%
99 :降低98.46%
95 :降低97.56%
80 :降低99.37%
任务执行时间 平均:6615s 平均:205s 降低96.9%

5.1、监控情况

【QPS及SQL执行时间】

【各实例QPS情况】

【内存使用情况】

【执行时间】

【CPU】

【load】

【IO】

5.2、任务执行时间情况

![升级4.0任务时间图]

【详细时间】

5赞