【问题标题】:Which tool to use for database (mssql) performance test? Write custom tool + profiler or Jmeter [closed]使用哪个工具进行数据库 (mssql) 性能测试?编写自定义工具 + 分析器或 Jmeter [关闭]
【发布时间】:2011-09-19 15:36:15
【问题描述】:

我想对我的数据库进行性能测试,所以我需要模拟对数据库的请求并测量持续时间和其他统计信息。 我的数据库是 MS Sql Server 2005/8,我的服务器在 IIS 下运行 ASP.NET

我需要模拟的测试需要一些在数据库端没有实现的流逻辑,需要测试工具来实现。

出于这个问题的目的,请忽略该流程逻辑的影响,并假设它需要零时间和资源,因此不会影响结果。

我正在考虑 2 个选项:

  1. 用 C# 编写我自己的自定义工具
    在 C# 中实现流逻辑,并自己“只在多线程中运行测试”。 我不会在 c# 端测量任何东西,而是使用 sql server profiler 来测量数据库请求。

  2. 使用 Jmeter(或其他等效工具?)
    使用 jmeter 实现流逻辑(使用标准组件或采样器而不是可以执行代码)。这样我就不必自己处理线程了,jmeter 会为我做这件事。在这种情况下,除了分析器,我还可以使用 Jmeter 来测量数据库。

我更喜欢第一个选项,因为与 jmeter 内置工具(逻辑控制器等)相比,在 C# 中编写我的流程登录要简单得多。

我在多线程方面有一些经验,我知道它会变得复杂,但在这种情况下,测试是独立的,不共享任何数据,所以我不必处理太多锁定问题。

我知道 jmeter 是一个很棒的工具,它可以很好地处理时间测量,但就我而言,我可以使用 sql profiler。

我是否低估了自己管理多线程的工作和困难?
我还缺少其他东西吗?还有其他选择吗?

【问题讨论】:

  • 是的,你真的低估了工作和困难。使用现有工具将为您提供现有的报告、现有的多线程、现有的灵活测试场景。真的很多工作。

标签: sql-server database performance jmeter sql-server-profiler


【解决方案1】:

一些选项:

  1. 使用 SQL 负载测试。见http://sqlloadtest.codeplex.com/
  2. Quest Software 的基准工厂。见http://www.quest.com/benchmark-factory/
  3. 使用 SQL Profiler 重放您记录的跟踪。见http://msdn.microsoft.com/en-us/library/ms189604.aspxhttp://sqlserverpedia.com/wiki/Replaying_a_Profiler_Trace
  4. 使用 OStress(RMUtilities 的一部分)请参阅 http://support.microsoft.com/kb/944837

【讨论】:

    【解决方案2】:

    您可以使用 Telerik 的免费 WebAii Web 测试框架来创建 Web ui 测试。 您也可以将它与单元测试一起使用,甚至作为单元测试的一部分。

    但实际上,如果您需要测试数据库的性能,那么您可能希望尽可能“接近”数据库,尽量不涉及 Web UI。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      相关资源
      最近更新 更多