MySQL 随机查询生成器输出含义

MySQL Random Query Generator Output meaning

我已经下载了正在我的 percona 5.6 服务器上测试的 MySQ 随机查询生成器 (RQG)。但是,当我 运行 进行测试时,我不知道如何处理我的结果。有人可以帮助我理解输出的含义,也许我应该期待什么结果?我是 RQG 的新手,我无法在网上找到一个很好的教程来讨论如何解释输出,甚至在您 运行 测试时会发生什么。

Percona server5.6 的测试命令:

perl gentest.pl --dsn=dbi:mysql:host=192.168.2.100:port=3306:user=root:password=skret:database=test --threads=1 --queries=100K --grammar=conf/percona_qa/5.6/5.6.yy --duration 3600

输出

# 2015-09-14T10:16:55 -------------------------------
# 2015-09-14T10:16:55 Configuration
# 2015-09-14T10:16:55   debug_server => ['']
# 2015-09-14T10:16:55   dsn => ['dbi:mysql:host=192.168.2.100:port=3306:user=root:password=skret:database=test']
# 2015-09-14T10:16:55   duration => 3600
# 2015-09-14T10:16:55   generator => FromGrammar
# 2015-09-14T10:16:55   grammar => conf/percona_qa/5.6/5.6.yy
# 2015-09-14T10:16:55   queries => 100000
# 2015-09-14T10:16:55   reporters => ['']
# 2015-09-14T10:16:55   seed => 1
# 2015-09-14T10:16:55   threads => 1
# 2015-09-14T10:16:55   transformers => ['']
# 2015-09-14T10:16:55   validators => ['']
# 2015-09-14T10:16:55   views => ['', '']
# 2015-09-14T10:16:55 Reporters: ErrorLog, Backtrace

当您只使用一台服务器进行测试时,例如您使用的 percona 5.6,随机生成的查询唯一可能的输出是随机查询失败并显示错误消息。此时RQG会在控制台打印这些错误情况。

如果它完全没有遇到任何错误,它将运行静默直到查询计数达到您指定的“--queries”,或者指定的时间结束。您示例中的超时值为 3600 秒,即一小时。

实际上,根据我自己使用 RQG 的经验,对我来说最强大的方法是使用 RQG 比较两个不同的服务器,在 --dsn1 和 --dsn2 中指定。 在这种情况下,当生成的随机查询从两个服务器得到不同的结果时,它会打印出不匹配的结果。 使用这种比较,MySQL 5.6 和 5.7 发布后甚至发现了数十个错误。