0

我们必须展示差异以展示使用复制的优势。我们有两台计算机,通过 teamviewer 链接,这样我们就可以向我们的班级展示我们正在做什么。

  • 是否可以显示性能差异?(执行某些查询需要多长时间?)
  • 我们应该测试什么类型的查询?(换句话说,使用/不使用复制最大的区别在哪里)
  • 我们应该如何填充我们的数据库?应该有多少数据?

非常感谢!

4

2 回答 2

0

复制有几个优点:

  • 通过主/从设置增加了鲁棒性。万一master出现问题,可以切换到slave作为备份
  • 通过在主服务器和从服务器之间分配处理客户端查询的负载,可以实现客户端更好的响应时间
  • 使用复制的另一个好处是您可以使用从服务器执行数据库备份,而不会干扰主服务器。

使用复制始终是一件安全的事情,您应该始终复制生产服务器,以防万一发生故障,这将很有帮助。

您可以seconds_behind_master在显示复制性能的同时显示值,这显示了从属设备的“延迟”时间,此值不应超过 600-800 秒,但网络延迟在这里确实很重要。确保服务器现在配置正确您可以停止服务器Master并让服务器发生一些更新/插入(批量插入),现在启动服务器您将看到更大的值,它应该继续减少直到达到值。SlaveslaveMasterslaveseconds_behind_master0

有一个名为MONyog - MySQL Monitor and Advisor的工具可以实时显示复制状态。 在此处输入图像描述

此外,无论是基于语句还是基于行,这里已经解释了使用哪种复制 http://dev.mysql.com/doc/refman/5.1/en/replication-sbr-rbr.html

于 2012-07-06T10:41:40.337 回答
0

我想上述问题的答案取决于您使用的存储引擎、数据库大小以及您选择的复制架构等因素。

我认为复制不会对简单的主->从架构的查询执行产生太大影响。但是,如果您的架构中有两个 master:一个处理写入,复制到另一个专门处理读取的 master,然后复制到处理备份的 slave,那么您更有可能呈现一些更积极的情景。阅读锁和存储引擎,因为这可能会影响您的选择。

展示复制如何积极的一种简单方法是演示一个简单的备份策略。例如,在主服务器本身上进行每小时备份会使底层应用程序在备份期间完全停止(使用 mysqldump 进行备份会锁定表,因此不会发生读/写操作)。而复制到从属服务器,然后从那里进行备份可以消除这种影响。

如果您想显示详细的统计信息,最好查看一些基准测试/分析工具(sysbench、mysqlslap、sql-bench 等等)。不过,这可能会变得相当复杂。也可能值得在这里查看 Percona Toolkit 和 Percona 监控插件:http ://www.percona.com/software/

于 2012-06-07T12:18:00.763 回答