1

AppFabric キャッシュ クライアントであるRESTfulWCFサービス ( ) を開発しました。WebHttpBindingjMeter を使用してパフォーマンス テストを実行しました。テスト計画には、100 の同時スレッドで呼び出されるサービス内の 1 つの操作が含まれていました。

ただし、テストを実行した後、the first 20 to 30 threads are taking considerable amount of time to get the response (say 10-15 seconds)AppFabric キャッシュ関連のコードがオンになっていると、残りのすべてのスレッドが 2 ~ 3 秒で実行を完了することに気付きました。AppFabric 関連のコードにコメントすると、問題なく動作します。ここではGetのみを使用し、Putは使用しないことに注意してください。

私のサービスには、t AppFabric として以下の構成があります。

<dataCacheClient requestTimeout="60000" channelOpenTimeout="15000" maxConnectionsToServer="2">
    <localCache isEnabled="true" sync="NotificationBased" ttlValue="300000" objectCount="100000" />
    <clientNotification pollInterval="10" maxQueueLength="100000" />
    <hosts>
      <host name="**********" cachePort="*******" />      
    </hosts>
    <securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
    <transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456" maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000" receiveTimeout="600000" />
  </dataCacheClient>

この最初の遅延の原因について、誰かがいくつかの指針を教えてください。

4

1 に答える 1

0

パフォーマンス テストを行う場合は、ウォームアップ期間から開始する必要があります。この期間に、アプリケーションの起動を許可し、すべてのキャッシュをいっぱいにします。起動期間の後、アプリケーションの実際の優先順位をテストできます。

実際には、アプリケーションを起動して、パフォーマンスを測定せずに数分間実行します。次に、テストを開始してパフォーマンスを測定します。テストの開始時に起動遅延がないことがわかります。

于 2012-08-02T08:41:20.123 に答える