使用Powershell对Web服务方法进行压力测试

时间:2008-11-17 23:39:32

标签: web-services testing powershell

我想通过快速连续几次调用它来强调测试Web服务方法。该方法有一个字符串参数,每次调用时都会有所不同。

我打算编写一个Powershell脚本来循环并多次调用此方法。

有更好的方法吗?

5 个答案:

答案 0 :(得分:3)

如果你一个接一个地打电话 - 它不会给你太多帮助,因为它不会告诉你服务在很多同时连接的重负荷下的行为。

使用一些多线程解决方案(我不知道PowerShell是否有这个)。

列出了一些开源测试工具here。只需将您的Web服务设置为接受GET请求,而不仅仅是SOAP(默认),这样您就可以形成URL。

答案 1 :(得分:1)

对于这些情况,我会使用JMeter。您需要首先使用它,但它非常灵活,它将在不同的线程中运行请求,它将以图形方式显示结果,并且还允许您编写作业脚本。

我还建议不要在与服务器相同的机器上启动它,如果可能的话,在不同的机器上启动两个或更多实例来模拟负载。

答案 2 :(得分:0)

就个人而言,我会使用类似openSTA的内容。

这允许记录与网站的会话,然后通过相对简单的脚本语言播放。

您还可以轻松测试Web服务并编写自己的脚本。

它允许您以任何您想要的方式将脚本放在一起进行测试,并配置迭代次数,每次迭代中的用户数量,引入每个新用户的加速时间以及每次迭代之间的延迟。测试也可以安排在未来。

它是开源的,免费的。

它会生成许多可以保存到电子表格的报告。然后,我们使用数据透视表轻松分析和绘制结果图。

答案 3 :(得分:0)

这实际上取决于是否有其他要求。如伐木,历史等。

如果你需要快速和肮脏,那么你就是好的。

如果您需要更强大的功能,那么您可以查看使用您选择的语言自定构建测试工具,或使用Mercury,MS Team Tester,nUnit等工具。

答案 4 :(得分:0)

对于那些偶然发现这一点并且不想使用已经提到的第三者选项的人。正如公认的答案所提到的,多线程解决方案是最好的,这可以在PowerShell中实现:

ForEach -Parallel ($item in $collection) {  }

https://docs.microsoft.com/en-us/powershell/module/psworkflow/about/about_foreach-parallel

尽管线程数可以限制为5:Does powershell's parallel foreach use at most 5 thread?