gpt4 book ai didi

c# - WCF 节流设置

转载 作者:太空狗 更新时间:2023-10-29 21:46:29 26 4
gpt4 key购买 nike

我一直致力于使用 WCF 和 MSMQ 进行概念验证。我一直在使用默认值 This Article 来调整 throttle 设置。并将我自己的设置添加到配置文件中。我有 2 个运行此应用程序的四核至强 CPU。无论我应用什么设置,它总是一次只能抓取 8 条消息(这与我的处理核心相匹配)。我希望在单个事务中处理每条消息,以便这可能是问题的一部分……不确定。我只是假设它会同时处理比实际更多的消息。

服务行为:

   [ServiceBehavior(UseSynchronizationContext = true,
ReleaseServiceInstanceOnTransactionComplete=true,
ConcurrencyMode = ConcurrencyMode.Single,
InstanceContextMode = InstanceContextMode.PerCall)]

端点行为:

  <endpointBehaviors>
<behavior name="endpointBehavior">
<transactedBatching maxBatchSize="1" />
</behavior>
</endpointBehaviors>

我自己的服务限制:

<serviceThrottling maxConcurrentCalls="128" maxConcurrentSessions="800" />

我是不是忽略了什么?也许我只是不完全理解默认/自定义 throttle 设置(可能)。

编辑

我修改了 ConcurrencyMode(更改为多个)以及 ReleaseServiceInstanceOnTransactionComplete 设置。更改为 Multiple 似乎没有任何改变?

编辑可能是 TransactionBatch 设置?我把它设置为一个...?

谢谢,

小号

最佳答案

我发现了一个博客,它向我指出了一些关于 WCF 节流/性能的很好的文档。我向我的处理应用程序添加了一些更多的元输出,并且能够获得我正在寻找的性能。通过向我的进程(ManagedThreadID 等)添加更多信息,我可以看到我获得的吞吐量比我最初假设的要多得多。我还在下面的博客中发现了一些有用的提示。

Blog

谢谢,

小号

关于c# - WCF 节流设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8746396/

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