msmq 身份验证会减慢加密速度
msmq authentication slows encryption
发送加密的 msmq 消息时,身份验证似乎降低了速度(从 2500 msg/sec 到 150 msgs/sec)。
System.Messaging.MessageQueue 和具有 msmqIntegration 绑定的 Wcf 客户端似乎都是这种情况。
我的要求是加密传输,我可以不认证。我更喜欢 WCF 客户端,因为可以从 app.config.
更改设置
msmqIntegrationBinding 是否可以在不进行身份验证的情况下进行传输加密?
<msmqIntegrationBinding>
<binding name="VisionAirMessagingBinding"
timeToLive="12:00:00"
maxReceivedMessageSize="4100000"
receiveErrorHandling="Move"
retryCycleDelay="00:30:00"
useMsmqTracing="false"
serializationFormat="Stream">
<security mode="Transport">
<transport msmqAuthenticationMode="WindowsDomain"
msmqEncryptionAlgorithm="RC4Stream"
msmqProtectionLevel="EncryptAndSign"
msmqSecureHashAlgorithm="Sha1"/>
</security>
</binding>
我发现身份验证会减慢我的速度,方法是在使用 System.
q1.Send(new Message
{
BodyStream = new MemoryStream(
Encoding.ASCII.GetBytes("ABCDEFGHIJKLMNOPQRSTUVXYZ")),
Label = i.ToString(),
//UseAuthentication = true,
UseEncryption = true
}, msmqTx);
如果我打开身份验证,发送又变慢了!
感谢任何帮助!
WindowsDomain
authentication表示Kerberos认证。它必然是一个多代理协议(使用类似 4 + 不同的消息被发送)。由于您使用的是阻塞 .Send()
方法。如果您不投入一些 asynchronicity/concurrency.
,这将限制您的速率(由于多个延迟路径)
您可能会发现切换到简单的 Certificate
身份验证就足够了。
结果是服务器将在没有用户凭据的情况下执行消息,但会经过身份验证(你知道是谁发送了消息,但你不能提升到该用户的权限)。
发送加密的 msmq 消息时,身份验证似乎降低了速度(从 2500 msg/sec 到 150 msgs/sec)。
System.Messaging.MessageQueue 和具有 msmqIntegration 绑定的 Wcf 客户端似乎都是这种情况。
我的要求是加密传输,我可以不认证。我更喜欢 WCF 客户端,因为可以从 app.config.
更改设置msmqIntegrationBinding 是否可以在不进行身份验证的情况下进行传输加密?
<msmqIntegrationBinding>
<binding name="VisionAirMessagingBinding"
timeToLive="12:00:00"
maxReceivedMessageSize="4100000"
receiveErrorHandling="Move"
retryCycleDelay="00:30:00"
useMsmqTracing="false"
serializationFormat="Stream">
<security mode="Transport">
<transport msmqAuthenticationMode="WindowsDomain"
msmqEncryptionAlgorithm="RC4Stream"
msmqProtectionLevel="EncryptAndSign"
msmqSecureHashAlgorithm="Sha1"/>
</security>
</binding>
我发现身份验证会减慢我的速度,方法是在使用 System.
q1.Send(new Message
{
BodyStream = new MemoryStream(
Encoding.ASCII.GetBytes("ABCDEFGHIJKLMNOPQRSTUVXYZ")),
Label = i.ToString(),
//UseAuthentication = true,
UseEncryption = true
}, msmqTx);
如果我打开身份验证,发送又变慢了!
感谢任何帮助!
WindowsDomain
authentication表示Kerberos认证。它必然是一个多代理协议(使用类似 4 + 不同的消息被发送)。由于您使用的是阻塞 .Send()
方法。如果您不投入一些 asynchronicity/concurrency.
您可能会发现切换到简单的 Certificate
身份验证就足够了。
结果是服务器将在没有用户凭据的情况下执行消息,但会经过身份验证(你知道是谁发送了消息,但你不能提升到该用户的权限)。