質問
プロジェクトのAPIサーバーを作成しようとしています。
Debian BoxesでPymongoを使用してMongodbを使用しています。 Everyhtingは最新です。
しかし、私たちは本当に奇妙な接続の問題を抱えています。私がチェックすると、通常、MongoDBポートへの15K-32Kを超える接続があります
root@webserver1:/#netstat -na | grep mongo_db_ip | WC -L
私は15363を手に入れました
接続はtime_wait状態です...
しかし、私がマンゴをチェックするとき、私は現時点で5-6の接続しか見られません...
Mongodbクラスを作成しました。これは、インスタンスを作成し、接続を作成します。 conn.disconnect()またはconn.end_request()を呼び出してみました。
誰かが私の間違いであるべきかを知ることができますか?
助けてくれてありがとう、情報...
解決
time_waitはオープンな接続ではありません。ソケットのオペレーティングシステムの状態であるため、すべてのデータが通過したことを確認できます。 AFAIK、Linuxのこれのデフォルトの長さは1分です。見て http://antmeetspenguin.blogspot.com/2008/10/timewait-in-netstat.html, 、それは良い説明があります。カーネルにTime_Waitソケットを再利用するように指示できます。
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
30秒に減らします。
ただし、なぜ多くの接続を行っているのかをチェックする必要があります。 MongodとPymongoのDebianパッケージを使用していると言っているので、時代遅れになる傾向があります。あなたは本当にMongod 2.0.2とPymongo 2.1.1を実行したいです。