2017-02-27 4 views
0

私は現在、同等のクエリを持つ比較的大きなデータセットで、PostgresとMongoDBの2つのデータベースをベンチマークしています。もちろん、私はそれらを平等な立場に置くために最善を尽くしていますが、私には一つのジレンマがあります。 Postgresの場合、実行時間はEXPLAIN ANALYZEであり、MongoDBと同様のコンセプトがあり、プロファイリングを使用しています(同等ではありませんが、millis)。データベースベンチマーク:データ転送/プロトコルの待ち時間を含める必要がありますか?

しかし、PgAdminやmongo CLIクライアントから、または監視対象のC#アプリから実行すると、異なる時刻が観測されます。その時間には、転送レイテンシとおそらくプロトコルの違いも含まれます。たとえば、PgAdminは実際には実行時間を完全に変形させるようです(明らかに結果のレンダリング時間が含まれています)。

問題は、アプリケーションが実際にそのデータを消費するため、「受信側」で実際に時間を測定する意味がありますか?あるいは、あまりにも多くの変数を含むだけで、実際のデータベースのパフォーマンスに何らかの貢献をしないのですか?報告されたDBMSの実行時間を守るべきでしょうか?

答えて

0

答えなければならない質問は、なぜデータベースのベンチマークですか?ベンチマークであれば、C#アプリケーションで使用するために、一方を選択することができます。次に、「受信側」で時間を測定する必要があります。どのような変数が含まれていても、比較する必要があります。

関連する問題