如何对托管在Windows服务中的WCF服务进行负载/压力测试?

9
我们有大约15个WCF服务托管在Windows服务中。其中一些是.NET 4.0,一些是.NET 3.5。
我想知道如何对托管在Windows服务中的WCF服务执行负载/压力/性能测试。客户端使用.NET TCP绑定与服务通信。此外,大多数API为了提高性能而返回流。
我能找到一些用于测试托管在IIS中的WCF服务的工具,但不知道如何对托管在Windows服务中的服务进行负载/压力/性能测试。
感谢任何帮助。谢谢。

1
如果您想分享在IIS中托管WCF服务的工具,可以提供翻译后的文本。 - Surjit Samra
2
@SurjitSamra - 请查看与在IIS中测试WCF的相关内容的此帖子 - SliverNinja - MSFT
@SurjitSamra - 但我的服务是作为Windows服务托管的,我使用net.tcp绑定。 - Everything Matters
在服务端编程中,我更倾向于使用服务单元测试用例,这意味着执行一个业务事件,例如:1)创建客户2)验证客户3)有效地址4)等等。然后,我会将这些测试用例用于Windows主机和Web主机服务。这些测试用例是基于MSTest开发的,并作为简单的控制台应用程序运行。 - Surjit Samra
3个回答

4
您可以参考这里的简单步骤来进行WCF服务的负载和性能测试。

2

我不确定这是否有助于测试Windows服务。因为我的WCF服务托管在Windows服务中。 - Everything Matters

1

您应该能够使用Visual Studio 2010 Ultimate版进行测试。基本过程是模拟http请求。

我能想到的最简单的方法是创建一个应用程序,以类似于正常应用程序调用它的方式调用您要测试的Web服务。使用Fiddler2记录https会话。将会话保存为Visual Studio Web测试。 将Web测试加载到Visual Studio中并将其转换为编码Web测试。这允许您控制其对Web服务使用的安全性等。

运行负载测试需要Visual Studio 2010 Ultimate版,但可以使用普通版本创建Web测试。真正的强大测试还需要虚拟用户包的许可证,但Ultimate版允许使用单个CPU测试高达250个虚拟用户。这足以让您对Web服务的性能轮廓有一个很好的了解。


但是我的服务是作为 Windows 服务托管的,我使用 net.tcp 绑定。这种方法在这种情况下也适用吗? - Everything Matters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接