【问题标题】:Performance Testing Various Databases性能测试各种数据库
【发布时间】:2011-04-20 19:07:30
【问题描述】:

我目前正在测试几个不同的关系数据库管理系统。 (MySQL、PostgreSQL、Oracle 和 Firebird SQL)使用 Java 应用程序来执行此操作。

我正在讨论应该运行哪些测试来区分每个测试的性能。

显而易见的是insertselectdeletedrop

我很想听听您的意见,并将其应用于问题答案格式,我将要求 5 种最合适的测试来表明性能差异。在一个理想的世界里,我想模仿真实的单词使用。

感谢所有回答的人。

【问题讨论】:

    标签: java mysql database oracle postgresql


    【解决方案1】:

    我认为他们中的任何一个都可能没问题。但是,根据您的应用程序,您尝试执行的不同数据库的配置会有所不同。

    建议的起点:寻找与您类似的应用。如果可以的话,看看他们在用什么。然后开始测试具有相似配置的不同数据库,看看哪些对你有用。

    在过去的 11 年里,我个人使用过 Oracle、MySql 和 Postgres,它们都运行良好。这一切都在您的配置中,这正是优秀 DBA 派上用场的地方。

    【讨论】:

    • 嗨艾伦,应用程序的目的是应用测试。该应用程序只允许创建连接,然后通过用户输入和用户界面中的任何结果输出来操作数据库。谢谢你的cmets。事实上,我感谢大家的意见,这将帮助我建立预期的结果。我正在使用运行在不同操作系统上的应用程序和不同服务器上的 RDBMS 来测试 RDBMS。再次感谢!
    • 好的,在这种情况下,然后设置您要执行的测试基线。我会说,一般来说,任何写的东西都会比读的东西占用更多的资源。所以使用一些插入和更新查询。然后使用一些选择。这些可以分批运行,可能带有循环。建立基线后,重要的是在每个数据库上运行相同的查询集。并确保您在每个数据库上的配置尽可能接近等效,以产生有效的结果。
    • 这正是我正在寻找的那种输入谢谢!下面的几个链接应该可以帮助我建立一些适当的测试。再次感谢!
    【解决方案2】:

    以下是 JPA 提供程序和 RDBMS 的 fairly extensive benchmarks 的结果。您可以使用他们提供的数据,也可以download their code 自己运行。

    【讨论】:

    • 感谢您的宝贵时间。我相信这肯定会帮助我以更合适的方式构建我的发现。
    • @user671430 - 很高兴您发现此信息有用。如果您认为足以解决您的问题,请随时“接受”我的回答。
    【解决方案3】:

    测试并发。换句话说,在各种锁定场景下会发生什么?理想情况下,您希望在尽可能接近真实世界的条件下进行测试,让多个用户使用系统,因为它本来是要使用的。请参阅我对this SO question 的回复。

    【讨论】:

    • 感谢您抽出宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 2011-07-08
    • 2012-02-20
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 2021-07-21
    相关资源
    最近更新 更多