gpt4 book ai didi

c# - WCF 高实例计数 : anyone knows negative sideffects?

转载 作者:太空狗 更新时间:2023-10-29 23:35:06 24 4
gpt4 key购买 nike

有没有人经历过或知道拥有像 60k 这样的高服务实例数的负面影响?当然,除了内存消耗。

我计划提高生产环境中允许的最大实例数的阈值。我基本上厌倦了仅仅因为“某事”忘记正确关闭代理而导致的严重生产事件。

我计划使用 60k 实例这样的实例,这将允许服务以我们客户的平均调用率使用默认 session 超时继续存在。

限制设置为:

  • maxConcurrentCalls = 100
  • 最大并发 session 数 = 60000
  • 最大并发实例数 = 60000
  • InstanceContextMode = PerSession

谢谢,亚历克斯

最佳答案

默认的并发实例是无限的。 60k 没什么区别。

当您不对您的服务应用限制时,默认值为

•maxConcurrentCalls = 16
•maxConcurrentSessions = 10
•maxConcurrentInstances = Unlimited

有多种方法可以应用限制和扩展默认值,但所有这些都取决于您的 InstanceContext、并发和 session 模式?基于这些答案,我可以建议最佳配置设置。

我在通过 WCF/Trottling 关于 ESB 的文章中介绍了其中的一些内容 Here

更新:

感谢您的回复。每个 session 很好。有一篇关于优化 WCFService 的好文章 Here

他们建议将您的设置更改为略高于 16 * CPU 数量。由于您是按 session 使用的,因此您应该将 ConcurrentCalls 设置为并发实例的 1-3%。

假设您的服务器中有 8 个内核。我会建议您在每个 session 服务上设置一个起点,如下所示:

<serviceThrottling maxConcurrentCalls="6"
maxConcurrentInstances="200"
maxConcurrentSessions="200"/>

这应该可以消除您的客户端不关闭连接的问题,尤其是当您当前使用默认的 10 个 session 时。您的服务器应该能够处理更多,但 60k 可能有点过头了。您可以根据需要进行测试和增加。这完全取决于盒子的功率以及您使用它的其他目的。

根据这些设置,如果您需要进一步增长,您可以监控性能并查看是否可以提高它们,否则,您可以轻松地扩展到更多服务器和负载平衡。

希望这有助于...快乐的编码

关于c# - WCF 高实例计数 : anyone knows negative sideffects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3071433/

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