繁体   English   中英

具有基于特定设计的庞大数据库(用于性能测试)

[英]Have a huge database based on a specific design (for performance tests)

多谢您的宝贵时间。

我知道在StackOverflow上有看起来相似的线程,但是没有一个在回答我的问题。

给定数据库的设计,是否存在可以基于该设计以巨大价值实现数据库的工具(用于将来的性能测试)。
还是应该创建一个随机放置值的服务器端脚本?

实际上,我在3种数据库设计之间犹豫不决,当它们具有相同数量的数据时,我应该测试每种数据库的性能。

任何建议和澄清均受到高度赞赏。

  1. 如果要对不同的事物进行基准测试,则应始终尝试使公共上下文尽可能大。 在您的情况下,这意味着:不要使用随机数据集,而要使用相同的数据集来测试不同的实现/数据库/...。如果您不想使用伪随机数据,则仍然可以通过使用种子随机数来实现,或者仅生成随机数即可。设置一次,然后多次使用相同的设置。

  2. 那里有自动化工具,但是由于必须以任何方式输入您的方案,因此创建一个简单的脚本可能是一个更好的主意。 该脚本将具有更加灵活的优势,并且可以在自动化测试中使用它。 例如,您可以编写一个ANT脚本,该脚本调用您的脚本以生成数据集,然后在对查询进行计时的同时运行查询列表,输出结果,并在不同的配置中重复执行相同的操作。

  3. 在测试不同的数据库方案的性能时,应始终确保还要考虑代码/访问等方面的差异。例如,如果一种方案在综合测试中可以快10%,但在您的方案中仍然可以慢50%应用程序,只是因为您将需要访问数据的代码将因此变得复杂十倍。 这就是为什么在大多数情况下,单独对与使用它的应用程序/代码/ ...隔离的方案进行基准测试没有多大意义。

  4. 确保随后花相同的时间优化每个测试方案,因为优化(索引等)后,结果可能会完全消失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM