はじめに 前回、前々回とMongoDBの非機能面に着目してきましたが、今回も非機能に着目して、MongoDBの処理性能について説明します。まず前半では、MongoDBの動作の中で処理性能に影響を与える動作を説明します。それをふまえた上で、後半では処理性能をどのように上げるかを説明します。 なお、今回はMongoDBを単体で使った場合の処理性能を考えています。レプリケーションやシャーディングを行った状態の処理性能については対象外とさせていただきます。 処理性能にかかわるMongoDBの動作 データアクセス MongoDBがどのようにデータにアクセスするかは、MongoDBの処理性能を考える上で非常に重要です。 MongoDBではデータファイルを仮想メモリにマッピング(Linuxではmmapという機能を利用)し、MongoDBのプロセスは仮想メモリにアクセスします。図1のように、アクセスするデ