我想对我的数据库进行性能测试,因此我需要模拟对数据库的请求,并测量持续时间和其他统计信息。 我的数据库是MS Sql Server 2005/8,我的服务器在IIS下运行ASP.NET
我需要模拟的测试需要一些未在数据库端实现的流逻辑,测试工具需要实现它。
出于这个问题的目的,请忽略该流逻辑的影响,并假设它需要零时间和资源,因此不会影响结果。
我正在考虑两个选项:
在C#中编写我自己的自定义工具
在c#中实现流逻辑,并且“我只是在多线程中运行测试”。
我不会在c#端测量任何东西,而是使用sql server profiler来测量数据库请求。
使用Jmeter(或其他等效工具?)
使用jmeter实现流逻辑(使用标准组件或采样器,而不是执行代码)。这样我就不必自己处理线程,jmeter会为我做。在这种情况下,除了剖析器,我还可以使用Jmeter来测量数据库。
我更喜欢第一个选项,因为在C#中比较jmeter内置工具(逻辑控制器等),编写流程登录要简单得多。
我在多线程方面有一些经验,我知道它会变得复杂,但在这种情况下,测试是独立的,不共享任何数据,所以我不需要处理很多锁定。
我知道jmeter是一个很棒的工具,它可以很好地处理时间,但在我的情况下,我可以使用sql profiler。
我是否低估了管理自我多线程的工作和困难? 我错过了别的什么吗?还有其他选择吗?
答案 0 :(得分:2)
一些选项:
答案 1 :(得分:0)
您可以使用Telerik的免费WebAii Web测试框架来创建web ui测试。 您也可以将它与单元测试一起使用,甚至作为单元测试的一部分使用。
但实际上,如果您需要测试数据库的性能,那么您可能希望尽可能“尽可能接近”数据库,尽量不要涉及Web UI。