0

私は次のコードを持っていますが、これはそれほど遅くはなく、またそれほど速くはありません。これを改善する方法はありますか?私は現在、5〜10秒で1000通のメッセージを受け取りますが、これは私の意見ではまだ理想的ではありません。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <bindings>
      <netMsmqBinding>
        <binding name="NetMsmqBinding_IProductService"
                 deadLetterQueue="System"
                 maxReceivedMessageSize="524288">
          <readerQuotas maxDepth="32"
                        maxStringContentLength="524288"
                        maxBytesPerRead="524288"/>
          <security mode="None"/>
        </binding>
      </netMsmqBinding>
    </bindings>
    <client>
      <endpoint address="net.msmq://localhost/private/Products" binding="netMsmqBinding"
        bindingConfiguration="NetMsmqBinding_IProductService" contract="Products.IProductService"
        name="NetMsmqBinding_IProductService" />
    </client>
  </system.serviceModel>
</configuration>

プロセッサに関係のない答えをお願いします、私はそれをより速くするための構成に関して意味します

4

2 に答える 2

0

.net 4.5では圧縮を使用できますが、その場合はバインディングをボトムアップで完全に書き直す必要があります。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.serviceModel>
    <bindings>
      <customBinding>
        <binding name="CompressedNetMsmqBinding_IProductService"
                 >

          <binaryMessageEncoding compressionFormat="GZip" >
            <readerQuotas maxDepth="32"
                          maxStringContentLength="524288"
                          maxBytesPerRead="524288"/>
          </binaryMessageEncoding>
          <msmqTransport
                 deadLetterQueue="System"
                 maxReceivedMessageSize="524288"/>
        </binding>
      </customBinding>
    </bindings>
    <client>
      <endpoint address="net.msmq://localhost/private/Products" binding="netMsmqBinding"
        bindingConfiguration="NetMsmqBinding_IProductService" contract="Products.IProductService"
        name="CompressedNetMsmqBinding_IProductService" />
    </client>
  </system.serviceModel>
</configuration>
于 2013-02-20T02:34:31.317 に答える
0

パフォーマンスがあなたが探している唯一のものであり、永続性を犠牲にすることをいとわないのであれば、非トランザクションメモリキューを調査することをお勧めします。トランザクションのオーバーヘッドはなく、ディスクにシリアル化されていないため、非常に高速です。ただし、分散環境にいる場合は、ネットワーク遅延に対処する必要があります。

お役に立てれば、

于 2013-02-22T16:01:38.050 に答える