Redisson 3.8.2 を使用してレプリケートされた AWS エラスティックキャッシュに接続しています。しばらく操作を行った後、クライアントはトピックをサブスクライブしようとしてタイムアウト例外を頻繁に取得します。
AWS の負荷とクライアントの負荷を確認しました。AWS はアイドル状態をわずかに上回っており、クライアントのサブスクリプションは、サポートできるはずのサブスクリプションよりもはるかに少なくなっています (サブスクライバー プール * 接続あたりのサブスクリプション)。
サブスクリプション接続プールと接続ごとのサブスクライバーの設定を調整しようとしましたが、それでも問題が発生します。
例外は高レベルでスローされ、Redisson promise が同期するのを待ってタイムアウトし、promise の背後にある詳細コードを調べると、Java コードの少なくとも 2 つのロックと非同期先物がサブスクライブしてリスナーをアタッチすることを含む多くのことが起こっています。 .
どこでタイムアウトになっているのか、どのステージに到達しているのか、接続プールと接続エントリの状態を確認できなかったときについて、Redisson から詳細なデバッグ情報を取得する方法はありますか?
org.redisson.client.RedisTimeoutException: Subscribe timeout: (7500ms)
at org.redisson.command.CommandAsyncService.syncSubscription(CommandAsyncService.java:142) ~[redisson-3.8.2.jar!/:na]
at org.redisson.RedissonTopic.addListener(RedissonTopic.java:133) ~[redisson-3.8.2.jar!/:na]
at org.redisson.RedissonTopic.addListener(RedissonTopic.java:109) ~[redisson-3.8.2.jar!/:na]