【TiDB 4.0 PCTA学习笔记】2.3.4~2.3.6@3班 郭升@神州数码

课程名称:【TiDB 4.0 PCTA学习笔记】2.3.4~2.3.6

学习时长:50min

课程收获:

  • 了解了TiDB性能测试的最佳实践
  • 在TiDB的事务,应该如何使用
  • 如何使用TiDB的Dashboard

2.3.4 测试TiDB性能的最佳实践

Sysbench 基本性能测试

可以测试CPU、磁盘性能,提供一些常见的测试case:
image

Sysbench的安装

准备一个配置文件,示例:
image

  • 注意,如果数据库配置的乐观事务模式,一定要 set global tidb_disable_txn_auto_retry = off
  • 使用Sysbench的基本流程
  • 首先是基本配置、数据导入
  • 然后开始准备Run Sysbench

TPC-C 联机复杂事务测试

测试中的常见问题

* 增大测试压力后,为何TiKV CPU的利用率依然很低?
	* 写入是否有热点,写入是否均匀。
	* 是否有其他模块达到了瓶颈
* 增大压力测试、增大并发配置后,发现TiKV未达到性能瓶颈,但TiDB CPU利用率低。
	* 有可能是NUMA的影响
* 各种配置都合理,配置了高并发,但是整体性能还是上不去?
	* 可能是客户端的问题。查看 TiDB ideal QPS值。

2.3.5 如何在TiDB中使用事务

事务的定义

一系列可以看成原子性的操作集合

TiDB事务实现、特点

使用事务

  • 乐观事务模式
    • 执行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浏览器。
* 访问地址:

image
* 有多个PD?访问任意一个PD都可以。
* 有防火墙、反向代理时,无法直接从外部直接访问PD,如何访问Dashboard?,看文档:
image
* 登录Dashboard。使用TiDB的root用户及密码。
* Dashboard可以看哪些信息:


image