ClusterNodeAdaptiveパラメータを有効にして、適応型接続管理と接続数の動的調整を実現することを推奨します。また、接続の確立と切断のオーバーヘッドを削減するために、共有接続モードを有効にすることも推奨します。パラメータ | 説明 |
接続プールの最大接続数 | ビジネス同時実行数を制御します。上限に達した後は新しい接続を作成せず、過剰なシステムリソースの消費を回避します。 |
接続プールの最大アイドル接続数 | 保持できる最大アイドル接続数です。上限を超えた分はクローズされ、削除されてリソースが解放されます。 |
接続プールの最小アイドル接続数 | 保持する必要がある最小アイドル接続数です。この値を下回ると新しい接続が作成され、高負荷時でも十分な利用可能接続が確保されます。 |
言語 / クライアント | 問題及びアドバイス | 接続プールコード例 |
Golang go-redis | 接続使用後はキューの末尾に戻し、接続取得時はキューの先頭から取得して、常にホット接続が取得されることを避けることを推奨します。 Lifoパラメータで制御できます(trueの場合は先頭から取得し、falseの場合は末尾から取得します)。v8.11.5以降のバージョンではキューの接続方式が修正されています。現在の主流であるv9.xバージョンでは、より均等な接続再利用戦略がデフォルトで採用されているため、アップグレードして使用することを推奨します。 | |
Golang redigo | 公式接続プールは先頭からの接続の取得と返却のみをサポートしているため、最もホットな接続が継続的に使用され、CLBを実現できません。均等化が必要な場合は、ソースコード pool.goを変更し、pushBackメソッドとLifoメンバー変数を追加できます。 | |
Java Jedis | 接続プールはデフォルトでLIFO(後入れ先出し)を採用しており、接続の使用が不均衡になりやすくなります。接続プールをFIFO( setLifo(false)、先頭から取得し、末尾に返却)に設定して、接続確立の順序の公平性を確保することを推奨します。 | |
Java Lettuce | 接続プールをFIFO( poolConfig.setLifo(false))に設定し、keepaliveやtcpUserTimeoutなどのパラメータと組み合わせて接続の堅牢性を高め、障害接続の検出と排除を高速化することを推奨します。 | |
Java Redisson | 接続プール関連のパラメータを適切な値に設定し、フェイルオーバーシナリオに応じて再接続、タイムアウト、CLBのパラメータを最適化し、高可用性アーキテクチャにおける接続の堅牢性を向上させることを推奨します。 |
()~!@#$%^&*-+=_|{}[]:;<>,.?/`)のうち2種類を含みます。フィードバック