テスト ツールは n 個のスレッドを作成し、各スレッド内で m 回の反復を実行します。最小、平均、最大操作時間を計算します。そのため、mongo がリクエストを非常に遅く実行することがあります (最大数秒)。また、最初の操作が最も遅くなるたびに、統計から意図的に除外することさえありますが、それでも平均と最大の差は非常に大きくなります。それは正常ですか?これらの遅い操作をなくすことはできますか? mongo が一部のリクエストを非常に遅く実行するのはなぜですか?
以下は、挿入/取得/削除/更新のテストを同時に実行したときの単一操作モードと混合モードの結果です。mix モードで thread=1 は、テストの種類ごとに 1 つずつ、4 つのスレッドを作成したことを意味します。
デフォルト値を使用しました - ホストあたり 100 接続
ソース
public void storeMt(MyTestObject myTestObject) {
mongoTemplate.insert(myTestObject );
}
public MyTestObject getMt(long id) {
MyTestObject result = mongoTemplate.findById(id, MyTestObject.class);
return result;
}
@Document
public class MyTestObject implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private long id;
//class contains 20+ fields
.......