我已经从 Master 生成了一个转储,我必须构建 slave 并赋予 master 的特权和二进制日志位置和文件名,以便它从 master 获取。Master 是一个高事务 OLTP 应用程序,TPS 为 74.21 插入/秒、113.17 更新/秒、0.00 删除/秒、77468.29 读取/秒。现在,当 DML 操作即将通过二进制日志在 SLAVE 上运行时,会对 Master 的性能产生任何影响。例如,Master 上的 Load Avg 或 IO 操作可能会受到影响。因为它允许 slave 读取 binlog 信息。
注意:Master 和 Slave 具有相同的服务器配置。
Mysql版本:5.0.77
操作系统:CentOS 5.4
内存:16GB RAM(80% 分配给 INNODB_BUFFER_POOL_SIZE)
数据库大小:380 GB
当我想将一些文件 scp 到 Slave 时,这个问题让我印象深刻。虽然它在网络中只有 34MBPS 的平均速度,但它需要大量读取 IO 操作,并且平均负载超过 6、7、11 等。当然它不会使用 SSH,因为它使用 mysql 套接字进行连接。只是在不妨碍主人的表现的情况下让奴隶就位的衡量标准。
我的问题是:
CPU 处理器或 IO 中是否存在任何负载峰值,这会降低 Master Perf 的速度?
如果有任何媒体可以传输使用较少 cpu/IO 利用率的数据?
问候,
曼诺吉·库马尔
简单回答是不。
在Mysql replication中,Master将bin log文件复制到slave,完成后,工作就结束了。现在 Slave 会运行 bin 文件并执行它们,但是在 Master 上不会有任何表现。
可能存在使用完全同步复制的场景,其中主服务器将等待从服务器执行查询,但同样不会影响内存或 CPU 方面的性能,但主服务器将等待查询执行被执行。
另外,对于你的第二个问题,Phil 已经回答了,ssh 通过使用大量 CPU 的加密发送数据,因此如果你想要其他方法,请使用 Phil 描述的其他方法。