【问题标题】:Have a huge database based on a specific design (for performance tests)拥有基于特定设计的庞大数据库(用于性能测试)
【发布时间】:2013-07-26 00:49:36
【问题描述】:

感谢您的宝贵时间。

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

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

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

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

【问题讨论】:

  • 有一个为此创建转储的网站。 generatedata.com
  • @Dagon,你应该知道,根据你对我上一个问题的评论,我创建这个主题已经过了一个小时,所以欢迎你的知识

标签: php mysql database performance database-design


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

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

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

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

【讨论】:

    猜你喜欢
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2011-07-13
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多