云数据库 TAURUSDB-非阻塞DDL:使用方法

时间:2024-12-03 09:29:32

使用方法

  1. 使用SysBench创建1个测试表sbtest1, 并插入1000000行数据。
    ./oltp_read_write.lua --mysql-host="集群地址" --mysql-port="端口号" --mysql-user="用户名" --mysql-password="用户密码" --mysql-db="sbtest" --tables=1 --table-size=1000000 --report-interval=1 --percentile=99 --threads=8 --time=6000 prepare
  2. 通过SysBench中的oltp_read_write.lua模拟用户业务。
    ./oltp_read_write.lua --mysql-host="集群地址" --mysql-port="端口号" --mysql-user="用户名" --mysql-password="用户密码" --mysql-db="sbtest" --tables=1 --table-size=1000000 --report-interval=1 --percentile=99 --threads=8 --time=6000 run
  3. 在目标表sbtest1 上开启一个新事务但不提交,该事务持有目标表sbtest1的MDL锁。
    begin;
    select * from sbtest1;
  4. 开启一个新会话,在开启和关闭非阻塞 DDL功能的条件下,分别对表sbtest1进行加列操作,观察TPS的变化情况。
    alter table sbtest1 add column d int;
  5. 测试结果。
    • 关闭非阻塞DDL, TPS持续跌零。默认超时时间为31536000秒,严重影响用户业务。

    • 开启非阻塞DDL, TPS周期性下降,但未跌零,对用户业务影响较小。

support.huaweicloud.com/kerneldesc-gaussdbformysql/gaussdbformysql_20_0015.html