我看到有关负载测试Web服务的其他一些问题。但据我所知,这些都是同步负载测试工具。 (这意味着他们送一吨的请求,但去一次一个。)异步WCF Web服务负载测试
我要寻找一个工具,我可以说,“我想在准确的同一时间推出的100个请求”。
现在,我对整个负载测试的新东西很陌生,所以有可能这些工具是异步的,我只是想念它。
不管怎样,总之我的问题是:有没有进行负载测试WCF Web服务异步的好工具(即大量的线程)。
我看到有关负载测试Web服务的其他一些问题。但据我所知,这些都是同步负载测试工具。 (这意味着他们送一吨的请求,但去一次一个。)异步WCF Web服务负载测试
我要寻找一个工具,我可以说,“我想在准确的同一时间推出的100个请求”。
现在,我对整个负载测试的新东西很陌生,所以有可能这些工具是异步的,我只是想念它。
不管怎样,总之我的问题是:有没有进行负载测试WCF Web服务异步的好工具(即大量的线程)。
你可以使用Visual Studio负载测试剂成分在多个客户机上运行,这将让你的异步运行,你有机器加载。 使用此功能有许可要求。
没有工具,可以让你在完全相同的瞬间施加载荷(毫秒内即),但是这是没有必要正确地进行负载测试的应用程序。
对于大多数需要在运行Visual Studio旗舰版将是绰绰有余得到一个了解你的web服务负载下如何执行一个负载测试服务器。
Visual Studio和大多数其他工具我想象会以异步方式施加负荷,但我认为你的观点,你想一次性将一组负荷。 这并不是真的必要,因为在实践中,负载不会以这种方式应用于服务。
预计高负载的服务的最佳选择是加载服务,直到达到给定数量的“每秒请求数”。找到应用程序应该预期的级别有点棘手,但是需要大致计算出您预期会有多少用户以及他们在给定时间段内使用它的数量。
另一个要做的测试是设置一个负载测试工具并运行负载,直到web服务开始执行不当或测试工具耗尽“oomph”并且无法再创建任何负载。
对于开发时间,您可以使用NLoad(http://nload.github.io) 在您的开发机器或测试环境中运行负载测试。
例如
public class MyTest : ITest
{
public void Initialize()
{
// Initialize your test, e.g., create a WCF client, load files, etc.
}
public void Execute()
{
// Send http request, invoke a WCF service or whatever you want to load test.
}
}
然后创建,配置和运行负载测试:
var loadTest = NLoad.Test<MyTest>()
.WithNumberOfThreads(100)
.WithDurationOf(TimeSpan.FromMinutes(5))
.WithDeleyBetweenThreadStart(TimeSpan.Zero)
.OnHeartbeat((s, e) => Console.WriteLine(e.Throughput))
.Build();
var result = loadTest.Run();
有任何意见或反馈,这将大大appriciated – 2016-08-02 14:55:41