1. 最近、mongodb を操作するために spring-boot と spring-data-mongo を使用しています。
2. 毎朝サーバーのログを確認すると、同じエラーが報告されています。一晩中サーバーにアクセスする人はいないと推定され、翌日誰かがサーバーにアクセスするとエラーが発生します。3. エラー ログは次のとおりです:
リーリー
4. いくつかの解決策を試し、mongodb をリンクするコードを次のように変更しました。 リーリーまた、サーバー (Ubuntu) ipv4 のキープアライブ時間を 120 秒に変更しました。
しかし、エラーはまだ残っています。アドバイスをいただければ幸いです。ありがとうございます。
おそらく MongoDB が Java によって維持されている接続を開始しました (ステータスが
CLOSE_WAIT
に変わり、データの送信のみが可能になり、データの受信ができなくなりました)。解決策は次の 2 つの場所から考えられます。;
socketKeepAlive
设成false
1. クエリ時間が長すぎる可能性があります。プロファイリングまたはサーバーのログ情報を調べて、10 秒を超えるクエリ時間のステートメントを見つけてください。最適化されます。
2. このエラー状況が軽減されるかどうかを確認するには、socketTimeout を適切に増やします。2017 MongoDB 中国語コミュニティ北京ユーザー グループ カンファレンスが、2017 年 6 月 3 日 13:00 ~ 18:00 まで間もなく開催されます