我需要一个调用内部 Web 服务的高性能脚本。因此,我编写了一个 powershell 脚本来创建运行空间线程,每个线程都向一个公共 Web 服务代理对象 (New-WebServiceProxy) 发出请求。
我发现无论我创建的线程数量和 Web 服务应用程序池工作进程的数量如何,我都只能从运行脚本的计算机同时建立 2 个 HTTP 连接,因此 Web 服务中只发生了两个进程。这并没有给我足够快的结果。
通过在多台客户端计算机上运行我的脚本,我可以在对 Web 服务器施加压力之前将我的工作进程提高到 8 个。我需要使用一个 powershell 脚本在代码中到达那里。
我尝试将此注册表项设置为 8:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\MaxConnectionsPerProxy
这看起来确实可能提高了我的脚本的性能,但我仍然只看到 2 个与 Web 服务的 HTTP 连接。
似乎真正的解决方案是管理这个 .Net 属性:
有人可以向我解释如何在 powershell 中处理这个问题吗?我无法弄清楚 New-WebServiceProxy 返回的对象与 ServicePoint 类之间的任何联系?那么在 Powershell 中设置什么来改变这 2 个连接限制呢?