课程名称:【TiDB 4.0 PCTA学习笔记】2.3.4~2.3.6
学习时长:50min
课程收获:
- 了解了TiDB性能测试的最佳实践
- 在TiDB的事务,应该如何使用
- 如何使用TiDB的Dashboard
2.3.4 测试TiDB性能的最佳实践
Sysbench 基本性能测试
可以测试CPU、磁盘性能,提供一些常见的测试case:
Sysbench的安装
准备一个配置文件,示例:
- 注意,如果数据库配置的乐观事务模式,一定要
set global tidb_disable_txn_auto_retry = off
- 使用Sysbench的基本流程
- 首先是基本配置、数据导入
- 然后开始准备Run Sysbench
TPC-C 联机复杂事务测试
- TPC-C的安装准备
- 编写配置文件
- 创建对应TPC-C要用的database,启动工作负载
- 执行测试脚本、及查看测试结果
测试中的常见问题
* 增大测试压力后,为何TiKV CPU的利用率依然很低?
* 写入是否有热点,写入是否均匀。
* 是否有其他模块达到了瓶颈
* 增大压力测试、增大并发配置后,发现TiKV未达到性能瓶颈,但TiDB CPU利用率低。
* 有可能是NUMA的影响
* 各种配置都合理,配置了高并发,但是整体性能还是上不去?
* 可能是客户端的问题。查看 TiDB ideal QPS值。
2.3.5 如何在TiDB中使用事务
事务的定义
一系列可以看成原子性的操作集合
TiDB事务实现、特点
- 分布式事务,两阶段提交
- 乐观事务的修改,是缓存在TiDB中,提交的时候先进行冲突检测、然后再写入TiKV。
- 悲观事务模式
使用事务
- 乐观事务模式
- 执行begin、DDL语句时,系统会自动提交上次还未完成的事务,需要特别注意。
- 无法在语句执行过程中发现冲突,只有在提交时才能知道。
- 悲观事务模式
- 在3.0.8之后的版本,新创建的数据库都默认是悲观事务模式
- 也可手动开启全局悲观事务模式
set global tidb_txn_mode="pessimistic"
- 开启一个举报悲观事务,在事务语句开头这样写
begin pessimistic
- 可以设置当前事务的隔离级别
set tx_isolation="read-committed"
- 有冲突时,会在SQL执行过程中发生阻塞
- 死锁检测、等锁超时
2.3.6 如何使用TiDB Dashboard
什么是TiDB Dashboard
* 4.0版本后,提供的一个web页面
* 诊断、监控集群。节点情况、慢sql等。
* 无需部署。内置在PD中的原生组件。
* 推荐2018年以后的chrome浏览器。
* 访问地址:
* 有多个PD?访问任意一个PD都可以。
* 有防火墙、反向代理时,无法直接从外部直接访问PD,如何访问Dashboard?,看文档:
* 登录Dashboard。使用TiDB的root用户及密码。
* Dashboard可以看哪些信息: