体验升级至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任务时间图]
【详细时间】