2017-11-29 26 views
0

Redisを使用しているアプリケーションでタイムアウトが発生しています。既に調査されているが、成功していない。以下のタイムアウトエラーを参照してください:StackExcange.Redis.RedisTimeoutException

StackExchange.Redis.RedisTimeoutException: Timeout performing GET USERORGANIZATIONS_D96510A4-A9A2-4DAA-84A9-BB77363DD3EA, inst: 9, mgr: ProcessReadQueue, err: never, queue: 24, qu: 0, qs: 24, qc: 0, wr: 1, wq: 1, in: 65536, ar: 1, clientName: RD00155D008B42, serverEndpoint: Unspecified/xxxxxxx.redis.cache.windows.net:xxxx, keyHashSlot: 9735, IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=27,Free=32740,Min=200,Max=32767) (Please take a look at this article for some common client-side issues that can cause timeouts: http://stackexchange.github.io/StackExchange.Redis/Timeouts) 

さらに詳しい情報が必要な場合は、私が提供しようとしています。前もって感謝します。

答えて

1

タイムアウトの "in:65536"値は非常に高いです。この値は、クライアントのソケットカーネルバッファに格納されているデータ量を示します。これは、データがローカルマシンに到着したが、まだアプリケーションレイヤーによって読み取られていないことを示します。これは、通常、1)スレッドプールの設定を調整する必要がある場合、または2)クライアントCPUが高い場合に発生します。ここで私はあなたが読むことをお勧めいくつかの記事は以下のとおりです。

Diagnosing Redis errors on the client side

Azure Redis Best Practices

+0

IOCP細かい権利がありますか? Busy = 0、Min = 4、または最小IOCPを100などの値にする必要がありますか? 労働者は増減する必要がありますか? –

+0

おそらく、IOCPとWorker両方のMinカウントが200から始まるように増やしてください。 –