2

私は 3 つの MongoDB ノード (10.66.5.3、10.66.5.4、10.66.5.5) のクラスターを持っています。

ここで、任意に 1 台のマシンをシャットダウンすると、mongoidgem を介してレプリカ セットにアクセスするときに、すべての db クエリでレイテンシが高くなります (10 秒)。mongoCLIツールを使用すると、クエリは正常に実行されます。コマンドは正しい情報ですぐに返されるrs.status()ので、mongoDB 側は適切に構成されていると思います。

コンソールからコマンドを実行するpryと、同じ 10 秒のレイテンシが発生します。時折、Web API にヒットするとクエリが失敗することがありますが、クエリを強制終了するタイムアウトだと思います。

これがアプリケーションの mongoid.yml です。

mock_production:
  sessions:
    default:
      database: project
      hosts:
        - localhost:27017
      options:
        read: :primary
    replica_set:
      database: project
      hosts:
        - 10.66.5.3:27017
        - 10.66.5.4:27017
        - 10.66.5.5:27017
      options:
        read: :primary
        write:
          w: :majority

コードが毎回クラスターの状態をチェックし、デッド ノードで時間を浪費しているように感じます。私は何か間違ったことをしていますか、設定オプションを見逃していましたか?

(いくつかのオンライン リソースで推奨されている) をクラスター オプションに追加しようとしrefresh_interval: 10ましたが、何もしませんでした。

レイテンシーは一貫して 10 秒なので、何か厄介なことをしている設定がおそらくあると思います。

何かご意見は?

ソフトウェア:

  • ルビー (2.1.5p273)
  • レール (4.1.6)
  • モンゴイド (4.0.0)
  • 原付 (2.0.0)
4

0 に答える 0