pt-online-schema-change测试

来源:互联网 发布:倒计时软件 编辑:程序博客网 时间:2024/05/29 02:51

最早测试过osc的功能,dtcc上也有大佬肯定过其安全性和可靠性,但未深究。最近大表的DDL变更越来越多,并且域名切换实现主从切换的方式容易出现问题,在这种驱动力下开始对osc的测试演练。

测试配置

  • 测试环境:DELL 720R RAID10 40核 128G内存
  • 压测工具:sysbench
  • 测试因子:thread(sysbench);chunk_size(osc)
osc语句:pt-online-schema-change --user=hikops --host=testdb --ask-pass --database=test t=sbtest1 --charset=utf8 --print --check-interval=5 --max-lag=30 --recursion-method=processlist --no-check-replication-filters --chunk-size=1000 --max-load="Threads_running=100" --critical-load="Threads_running=200" --execute --statistics  --alter="ADD COLUMN update_time datetime NULL COMMENT '更新时间'"

测试目的

找出不同并发下不同chunk_size对压力以及ddl时间的影响

测试方法

  • 每次测试只变动一个因子
    • chunk_size从50-5000不等
    • thread为2、4,因6开始出现主从延迟
  • 开启两个窗口,一个用sysbench跑压测脚本,记录tps,另一个跑osc脚本,记录ddl时间

测试结果

ps:加粗表示主从出现延迟

TPS 2 4 0 490 790 50 450 740 100 400 700 150 407 673 200 366 550 300 327 587 500 206 304 1000 199 293 2000 94 123 3000 109 109 5000 50 49
DDL Time(S) 0 2 4 50 1068 1144 796 100 596 696 562 150 393 498 384 200 382 505 411 300 251 313 259 500 238 283 282 1000 143 167 160 2000 180 226 187 3000 110 173 130 5000 194 224 184

测试结论

  • 较低的chunk_size对数据库压力较小,但ddl时间较长
  • 较高的chunk_size对数据库压力较大,但ddl时间较短
  • 保守的看,TPS在750以上的表不论chunk_size很大可能会有延迟,不建议使用osc
  • 综合而论,chunk_size可以根据不同的tps调整从50-1000不等。
0 0
原创粉丝点击