我一直在使用WCF和MSMQ进行概念验证.我一直在使用默认值本文进行限制设置,并将我自己的设置添加到配置文件中.我有2个运行此应用程序的四核Xeon CPU.无论我应用什么设置,它总是只能一次抓取8条消息(与我的处理内核相匹配).我希望在一个事务中处理每个消息,这可能是问题的一部分......不确定.我jsut假设它会同时处理更多的消息.
服务行为:
[ServiceBehavior(UseSynchronizationContext = true,
ReleaseServiceInstanceOnTransactionComplete=true,
ConcurrencyMode = ConcurrencyMode.Single,
InstanceContextMode = InstanceContextMode.PerCall)]
Run Code Online (Sandbox Code Playgroud)
端点行为:
<endpointBehaviors>
<behavior name="endpointBehavior">
<transactedBatching maxBatchSize="1" />
</behavior>
</endpointBehaviors>
Run Code Online (Sandbox Code Playgroud)
我自己的服务节流:
<serviceThrottling maxConcurrentCalls="128" maxConcurrentSessions="800" />
Run Code Online (Sandbox Code Playgroud)
我忽略了什么吗?也许我只是不完全理解默认/自定义油门设置(可能).
编辑
我已经修改了ConcurrencyMode(Changed to Multiple)以及ReleaseServiceInstanceOnTransactionComplete设置.改为多人似乎没有改变什么?
编辑 是否可能是TransactionBatch设置?我有那个......?
谢谢,
小号
| 归档时间: |
|
| 查看次数: |
3845 次 |
| 最近记录: |