数据库基准测试:是否应包含数据传输/协议延迟?

时间:2017-02-27 21:22:36

标签: c# mongodb postgresql benchmarking

我目前正在对具有等效查询的相对较大的数据集对两个数据库Postgres和MongoDB进行基准测试。当然,我正在尽力将它们置于同等地位,但我有一个两难的境地。对于Postgres,我采用EXPLAIN ANALYZE报告的执行时间,与MongoDB有类似的概念,使用分析(尽管不等同,millis)。

但是,如果从PgAdmin或mongo CLI客户端或我观看的C#应用​​程序执行,则会观察到不同的时间。那个时间还包括传输延迟,以及可能的协议差异。例如,PgAdmin实际上似乎完全改变了执行时间(显然包括结果渲染时间)。

问题是:实际测量“接收端”的时间是否有任何意义,因为应用程序实际上消耗了这些数据?或者它只包含太多变量并且对实际数据库性能没有任何贡献,我应该坚持报告的DBMS执行时间?

1 个答案:

答案 0 :(得分:0)

您必须回答的问题是为什么要对数据库进行基准测试?如果您正在进行基准测试,那么您可以选择其中一个,以便在C#应用程序中使用,那么您需要测量“在'接收端'上的时间”。无论可能包含哪些变量,您都需要进行比较。