Rails アプリケーションを 2 回セットアップしました。1 つは MongoDB (マッパーとして Mongoid) を使用し、もう 1 つは MySQL と ActiveRecord を使用しています。次に、両方のデータベース (100.000 エントリ) にいくつかのテスト データを挿入する rake タスクを作成しました。Ruby Benchmark モジュールを使用して、各データベースにかかる時間を測定しました。mongodb が常に mysql よりも高速 (約 1/3) であった 100 および 10.000 エントリでいくつかのテストを行いました。奇妙なことに、mongodb では 100.000 エントリを挿入するのに mysql よりも約 3 倍の時間がかかります。なぜmongodbがこの動作をするのかわかりません?! 私が知っている唯一のことは、CPU時間が合計時間よりもはるかに低いということです. データの挿入中にmongodbが何らかのガベージコレクションを開始する可能性はありますか? 最初は速いですが、mongodbが挿入するデータが増えるにつれて、どんどん遅くなります...
2 つのデータベースの読み取りパフォーマンスを何とか取得するために、データベースが検索クエリを取得して結果を応答するまでの時間を測定することを考えました。正確な測定が必要なので、Rails がコントローラーからデータベースへのクエリを処理している時間を含めたくありません。
Railsコントローラーではなく、データベースで直接測定するにはどうすればよいですか? 私を助ける宝石/ツールはありますか?
前もって感謝します!
編集:現在の状況に応じて質問を更新しました