私はmongoimportについて質問があります。ここに私の構成です:さまざまなmongoimport時間
5物理マシンです。 5シャード、3構成、5モンゴ。マシンごとに1つのシャードとモンゴがあり、3つ(5つのうち)は1つの設定を持っています。
mongoimportを使用している数百のJSON形式のテキストファイルがあります。各ファイルがインポートされるまで、各mongoに1つのmongoimportを発行します(一度に5つ)。私は各インポートのレコード/秒と各マシンのCPU使用量を監視しています。各マシンのcpu/memには大きな違いはありません。
ただし、レコード/秒の速度は、mongoimportプロセスごとに4kから16kまで変化します。これは、特定のシャードに新しいデータファイルを割り当てることには関係していないようです。しかし、それはインポートされたファイル自体に関連しているようです(各ファイルはスキーマで非常に似ていますが、ファイルの唯一の違いはレコードの数です。たとえば、ファイルが10k rec/secで読み込みを開始すると、読み込みプロセス全体でそのペースで処理が続行されているように見えます.4kで開始すると、それが実行されます。
これはなぜ発生するのでしょうか?これをどうすれば解決できますか?