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

时间:2015-09-14 02:18:52

标签: mysql perl testing percona

我已经下载了我在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

1 个答案:

答案 0 :(得分:1)

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

如果它根本没有遇到任何错误,它将以静默方式运行,直到查询计数到达" - 查询"你指定,或指定的时间是否已经完成。示例中的超时值为3600秒,即一小时。

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