我是靠谱客的博主 生动星星,最近开发中收集的这篇文章主要介绍mysql 复制和容量规划_MySQL容量规划之tcpcopy应用之道,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

0 > /proc/sys/net/ipv4/ip_forward

具体操作

online server

/usr/local/src/tcpcopy/objs/tcpcopy -x 3306-1.1.1.2:3306 -s 1.1.1.3 -c 1.1.1.4 -n 3 -d

# 如果是多实例,sourcePort-targetIP:targetPort,以逗号分隔

/usr/local/src/tcpcopy/objs/tcpcopy -x 3306-1.1.1.2:3306,3307-1.1.1.2:3307 -s 1.1.1.3 -c 1.1.1.4 -n 3 -d

tcpcopy会捕获当前主机的‘3306’报文,更改客户端的IP为1.1.1.4,发送这些报文到target server 1.1.1.2的目标端口‘3306’,并连接1.1.1.3询问intercept 将响应包传递给自己

-n 3 是复制3倍份流量到target,tcpcopy会处理冲突的部分

target server

/usr/local/src/intercept/objs/intercept -i eth0 -F tcp and src port 3306 -d

ntercept会从eth0网卡捕获监听3306端口的tcp包

assistant server

route add -host 1.1.1.4 gw 1.1.1.3

路由客户端的所有响应包到assistant server

模拟客户端流量

online server

# mysql -h1.1.1.1 -uadmin -p123123 -P3306

# 创建带有主键的表t2CREATE TABLE`t2` (

`id`int(11) NOT NULL,PRIMARY KEY(`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

# 创建无约束字段的表t3CREATE TABLE`t3` (

`id`int(11) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8

# 然后在两个表中分别插入一条数据

insert into t2 values(1);

insert into t3 values(1);

target server

mysql>show processlist;+------+-------------+---------------------+------+---------+---------+--------------------------------------------------------+------------------+

| Id | User | Host | db | Command | Time | State | Info |

+------+-------------+---------------------+------+---------+---------+--------------------------------------------------------+------------------+

| 11 | system user | | NULL | Connect | 3044244 | Slave has read all relay log; waiting for more updates | NULL |

| 12 | system user | | NULL | Connect | 3044248 | Waiting for an event from Coordinator | NULL |

| 13 | system user | | NULL | Connect | 3044248 | Waiting for an event from Coordinator | NULL |

| 14 | system user | | NULL | Connect | 3044248 | Waiting for an event from Coordinator | NULL |

| 15 | system user | | NULL | Connect | 3044248 | Waiting for an event from Coordinator | NULL |

| 3961 | root | localhost | NULL | Query | 0 | starting | show processlist |

| 3962 | admin | 1.1.1.4:24695 | NULL | Sleep | 5 | | NULL |

| 3963 | admin | 1.1.1.4:24286 | NULL | Sleep | 5 | | NULL |

| 3964 | admin | 1.1.1.4:24759 | NULL | Sleep | 5 | | NULL |

+------+-------------+---------------------+------+---------+---------+--------------------------------------------------------+------------------+

9 rows in set (0.00 sec)

mysql> select * from t2;

+----+

| id |

+----+

|  1 |

+----+

1 row in set (0.00 sec)

mysql> select * from t3;

+------+

| id   |

+------+

|    1 |

|    1 |

|    1 |

+------+

3 rows in set (0.00 sec)

可以看到同时3倍的流量复制效应,对应的是3个回话;表t2有约束,tcpcopy会处理冲突的部分,

所以最后看到的是t1表中只有一条数据,而t2表中则是3倍流量复制的结果

MySQL容量规划之tcpcopy应用之道

标签:mysq   抓取   images   code   wait   快速定位   官方文档   流量   alt

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/Bccd/p/6740149.html

最后

以上就是生动星星为你收集整理的mysql 复制和容量规划_MySQL容量规划之tcpcopy应用之道的全部内容,希望文章能够帮你解决mysql 复制和容量规划_MySQL容量规划之tcpcopy应用之道所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部