我想对我的数据库进行性能测试,所以我需要模拟对数据库的请求并测量持续时间和其他统计数据。我的数据库是 MS Sql Server 2005/8,我的服务器在 IIS 下运行 ASP.NET
我需要模拟的测试需要一些在数据库端没有实现的流逻辑,测试工具需要实现它。
出于这个问题的目的,请忽略该流程逻辑的影响,并假设它需要零时间和资源,因此不会影响结果。
我正在考虑两种选择:
用 C# 编写我自己的自定义工具,在 c#
中实现流逻辑,并自己“只在多线程中运行测试”。我不会在 c# 端测量任何东西,而是使用 sql server profiler 来测量数据库请求。使用 Jmeter(或其他等效工具?)
使用 jmeter 实现流程逻辑(使用标准组件或采样器而不是可以执行代码)。这样我就不必自己处理线程了,jmeter 会为我做。在这种情况下,除了分析器之外,我还可以使用 Jmeter 来测量数据库。
我更喜欢第一个选项,因为与 jmeter 内置工具(逻辑控制器等)相比,在 C# 中编写我的流程登录要简单得多。
我在多线程方面有一些经验,我知道它会变得复杂,但在这种情况下,测试是独立的,不共享任何数据,所以我不必处理太多锁定问题。
我知道 jmeter 是一个很棒的工具,它可以很好地处理时间测量,但就我而言,我可以使用 sql profiler。
我是否低估了管理自己多线程的工作和困难?
我还缺少其他东西吗?还有其他选择吗?