gpt4 book ai didi

web-services - PSH Runspaces + New-WebServiceProxy = 2个连接限制?

转载 作者:行者123 更新时间:2023-12-03 00:00:51 25 4
gpt4 key购买 nike

我需要一个调用内部Web服务的高性能脚本。因此,我编写了一个powershell脚本来创建运行空间线程,每个运行空间线程都向一个通用Web服务代理对象(New-WebServiceProxy)发出请求。

我发现无论创建多少线程和Web服务应用程序池工作程序进程的数量如何,我只能从运行脚本的计算机上同时建立2个HTTP连接,因此Web服务中仅发生两个进程。这不能给我足够快的结果。

通过在多台客户端计算机上运行脚本,我可以在不给Web服务器施加压力之前将工作进程最多提高8个。我需要使用一个powershell脚本在代码中到达那里。

我尝试将此注册表项设置为8:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Internet设置\ MaxConnectionsPerProxy

似乎确实可以提高脚本的性能,但是我仍然只看到2条HTTP连接到Web服务。

似乎真正的解决方案是管理此.Net属性:

https://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit(v=vs.110).aspx

有人可以向我解释一下如何在Powershell中处理此问题吗?我无法弄清楚New-WebServiceProxy返回的对象和ServicePoint类之间的任何联系?那么在Powershell中设置什么来更改那两个连接限制呢?

最佳答案

我认为您只需要在脚本中将默认连接限制设置为较大的值,例如:

[System.Net.ServicePointManager]::DefaultConnectionLimit = 8
ServicePointManager和生成的类之间的联系是,生成的类继承自 SoapHttpClientProtocol,后者内部使用 System.Net.HttpWebRequest进行网络调用。在内部, HttpWebRequest使用 ServicePointServicePointManager控制可以进行的同时进行的飞行中 call 的数量。

关于web-services - PSH Runspaces + New-WebServiceProxy = 2个连接限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30269442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com