0

我感谢你的时间。

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

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

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

任何建议和澄清都非常感谢。

4

1 回答 1

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

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

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

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

于 2013-07-25T22:17:52.113 回答