gh-ost测试
gh-ost测试
1、不支持没有主键或者唯一索引的表
2018-08-24 09:53:33 FATAL No PRIMARY nor UNIQUE key found in table! Bailing out
2、不支持有外键约束的表(主表和子表都不支持)
2018-08-24 10:03:09 ERROR Found 1 parent-side foreign keys on `darren`.`t1`. Parent-side foreign keys are not supported. Bailing out
2018-08-24 10:03:09 INFO Tearing down inspector
2018-08-24 10:03:09 FATAL 2018-08-24 10:03:09 ERROR Found 1 parent-side foreign keys on `darren`.`t1`. Parent-side foreign keys are not supported. Bailing out
3、不支持表上有触发器
2018-08-24 10:14:47 ERROR Found triggers on `darren`.`test`. Triggers are not supported at this time. Bailing out
2018-08-24 10:14:47 INFO Tearing down inspector
2018-08-24 10:14:47 FATAL 2018-08-24 10:14:47 ERROR Found triggers on `darren`.`test`. Triggers are not supported at this time. Bailing out
4、在gh-ost执行期间,同时进行ddl,最后发现ddl执行成功了,却被覆盖了
由于gh-ost对原表影响最小(没有锁),当执行时间比较长,在此期间,对该表进行任何的DDL都不会生效
5、表上存在大量写入的时候,gh-ost可能永远也完成不了
经过测试:当写入QPS5000以上,gh-ost无法完成任务,其原因是apply binlog是单线程,可以理解为slave,当原表写入量巨大时(QPS=5000以上),
一直在应用日志,而gh-ost设计是binlog应用优先级高于row copy,所以我们看到row copy进度一直没变,这样如果原表一直压力这么大,那么gh-ost DDL将无法完成。
经过在s3710机器上测试如果原表写入的QPS大于5000将大概率出现此情况,小于5000的话没问题。
Copy: 0/9705089 0.0%; Applied: 183480; Backlog: 1000/1000; Time: 1m24s(total), 1m24s(copy); streamer: tjtx-126-164.001588:441763689;
Copy: 0/9705089 0.0%; Applied: 185490; Backlog: 1000/1000; Time: 1m25s(total), 1m25s(copy); streamer: tjtx-126-164.001588:442986068;
Copy: 0/9705089 0.0%; Applied: 207590; Backlog: 1000/1000; Time: 1m30s(total), 1m30s(copy); streamer: tjtx-126-164.001588:455843331;
6、当innodb_autoinc_lock_mode=1时,不会像pt-osc产生大量死锁
由于是单线程复制数据和应用binlog,不会由于row lock和auto-inc锁产生的死锁问题
gh-ost测试的更多相关文章
- Lustre文件系统测试——obdfilter-survey测试
Lustre文件系统测试--obdfilter-survey测试 介绍 该测试主要是在lustre文件系统工作环境下进行,将直接在ost上生成工作负载模拟并行文件访问,可准确检测盘阵在lustre文件 ...
- Ghost-无损DDL
目录 一.什么是DDL? 二.表级锁和元数据锁 2.1.什么是表锁? 2.2.什么是MDL? 三.什么是无损DDL? 四.DDL重建表 Mysql5.5之前重建表 Mysql5.6之后重建表 五.gh ...
- 三周,用长轮询实现Chat并迁移到Azure测试
公司的OA从零开始进行开发,继简单的单点登陆.角色与权限.消息中间件之后,轮到在线即时通信的模块需要我独立去完成.这三周除了逛网店见爱*看动漫接兼职,基本上都花在这上面了.简单地说就是用MVC4基于长 ...
- HTML5 WebSocket 实时推送信息测试demo
测试一下HTML5的websocket功能,实现了客户端→服务器实时推送信息到客户端,包括推送图片: websocket实现MessageInbound类 onTextMessage()/onBina ...
- 08Spring_Spring和junit测试集成
第一步: 在项目导入 spring-test-3.2.0.RELEASE.jar 第二步: 编写测试类
- IGS_学习笔记08_IREP通过soapUI测试客户化Web Service调用(案例)
20150819 Created By BaoXinjian
- IGS_学习笔记07_IREP通过页面测试客户化Web Service调用(案例)
20150819 Created By BaoXinjian
- 使用Selenium+appium进行App测试
1. 启动安卓虚拟机.
- Web项目中JSP页面的一种调试方法与出现的问题 -- SpringMVC架构测试
在前端开发中,尤其是MVC架构多人开发,负责前端的童鞋总是需要做静态页面,再和后台连接前无法使用变量如EL表达式等测试功能,所以本人引入了一个模板jsp数据测试专用文件,专门配置所有的变量,然后在待测 ...
- 长轮询实现Chat并迁移到Azure测试
长轮询实现Chat并迁移到Azure测试 公司的OA从零开始进行开发,继简单的单点登陆.角色与权限.消息中间件之后,轮到在线即时通信的模块需要我独立去完成.这三周除了逛网店见爱*看动漫接兼职,基本上都 ...
随机推荐
- poj 3084(最小割)
题目链接:http://poj.org/problem?id=3084 思路:题目的意思是不让入侵者进入保护的房间,至少需要锁几道门.网络流建模:设一个超级源点,源点与有入侵者的房间相连,边容量为in ...
- mysql 暴力破解 root账号密码
测试数据库的root账号密码大家都忘记了,好吧,那我们就暴力破解吧 1.找到my.cnf vi /etc/my.cnf在[mysqld]的段中加上一句:skip-grant-tables例如:[mys ...
- Response响应对象
1.HttpServletResponse HttpServletResponse是一个定义在Servlet API中的接口,继承自ServletReponse接口,用于封装HTTP响应消息.HTTP ...
- NHibernate 1.0 Released 版本发布了
NHibernate is a port of Hibernate to the .NET platform. Hibernate is the leading open-source object- ...
- http协议详解(2)
HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP请求报文 一个HTTP请求报文由请求行(request ...
- 模态窗口原理及注意事项--http://www.alisdn.com/wordpress/?p=53
前言 在开发Windows引用程序的时候,在一些需要用户确认,或者提示用户注意的场合,经常使用模态对话框,或者叫模态窗口.在绝大多数情况下,模态窗口给开发人员带来了极大的便利,并且在某些应用上有不可替 ...
- 6号css学习小记
一.overfloat属性:(四个值) visible :默认值.内容不会被修剪,会呈现在元素匡之外. hidden:内容会被修剪,并且其余内容是不可见的. scroll :内容会被修剪,但是浏览器会 ...
- 获取当前日期和农历的js代码
来自:http://www.cnblogs.com/Gnepner/archive/2011/09/07/2169822.html 获取当前日期 getToday.js: function GetCu ...
- mysqldump迁移说明
使用mysqldump导出数据, 数据包含单行insert,带字段值 #使用mysqldump备份数据到文件, 主要在每个分片的主上面进行备份,确保数据是最新的. mysqldump -h192. - ...
- mongoDB-----针对某个或多个文档只需要部分更新可使用原子的更新修改器
update() db.collection.update( <query>, <update>, { upsert: <boolean>, multi: < ...