【发布时间】:2015-11-10 14:25:59
【问题描述】:
我们正在使用 Windows 服务对内部 REST 服务进行非常频繁的 HTTP 调用(每秒 20-40 次调用),但注意到在服务运行几分钟后获得响应的时间很长。
查看netstat,有不少端口处于“TIME_WAIT”状态,看来我们的端口可能快用完了。
我们如何确保端口被重用?
【问题讨论】:
-
您是否在请求实例完成后处理它们?
-
你也使用很多线程吗?
-
这真的是一个性能问题......你已经把它归结为你的问题的原因......我不相信它是。我想说这更有可能是不同问题的症状。
-
共享您用于发出请求的代码对于了解您是否正在做一些阻止重用连接的事情非常必要。
-
@user2966445 如果您每秒发出 20-40 次调用并且它们完成的时间不超过一秒钟,那么我建议您将连接限制设置为大约 50-60 范围.如果您仍然遇到瓶颈,我建议您的问题出在其他地方,并且提高连接限制不是您问题的答案(例如服务器上的请求限制导致排队,无法正确终止和处理请求,因此连接可以重复使用等等...)
标签: c# asp.net .net visual-studio