図に示すように、golang の redigo ライブラリを使用して redis 接続プールを作成し、ab テストを使用して 10,000 の同時読み取り操作をシミュレートしましたが、redis がどのように情報を更新しても、接続数は常に 2 で、わずか 4 です。しかし、書き込み操作を使用する接続が 60 を超えており、netstat-ano はリモート 127.0.0.1:6379 で実際に多数の TCP 接続が発生していることを示しています。このために? (Redis 構成の最大接続数は 10,000 です)
(右側の netstat ウィンドウは無視してください。スクリーンショットを適切に撮っていなかっただけです。実際、自分で見つけてフィルタリングしたところ、確かにリモート上で TIME_WAIT ステータスの TCP 接続が多数発生していました。 127.0.0.1:6379)
追記: もう 1 つの質問は、ab テスト プログラムの -c パラメーターの最大値が 10,000 しかない理由です。ヘルプ ドキュメントを直接表示するために 100,000 と入力しました。 。 。
接続プールが占有されていないと思いますか?
このように書きます
リーリー