2017-02-27 11 views
0

현재 동일한 쿼리를 사용하는 상대적으로 큰 데이터 세트에서 Postgres와 MongoDB라는 두 개의 데이터베이스를 벤치마킹하고 있습니다. 당연히, 나는 그들을 동등한 근거에두기 위해 최선을 다하고 있지만, 나는 하나의 딜레마가있다. Postgres의 경우 실행 시간을 EXPLAIN ANALYZE으로보고하고 MongoDB와 비슷한 개념이 있는데 프로파일 링을 사용합니다 (비록 동일하지는 않지만 millis).데이터베이스 벤치마킹 : 데이터 전송/프로토콜 대기 시간을 포함해야합니까?

그러나 PgAdmin 또는 mongo CLI 클라이언트에서 실행하거나 다른 C# 응용 프로그램에서 실행하면 다른 시간이 관찰됩니다. 그 시간에는 전송 대기 시간 및 아마도 프로토콜 차이가 포함됩니다. 예를 들어, PgAdmin은 실제로 실행 시간을 완전히 변형시키는 것처럼 보입니다 (이는 결과 렌더링 시간을 분명히 포함합니다).

질문 : 응용 프로그램에서 실제로 데이터를 사용하기 때문에 실제로 "수신 끝"에서 시간을 측정하는 데 어떤 의미가 있습니까? 또는 너무 많은 변수를 포함하고 실제 데이터베이스 성능에 아무런 영향을 미치지 않으므로보고 된 DBMS 실행 시간을 고수해야합니다.

답변

0

대답해야 할 질문은 왜 데이터베이스를 벤치마킹하고 있습니까? 벤치 마킹을 통해 C# 응용 프로그램에서 사용하기 위해 하나를 선택할 수 있다면 "수신 엔드"에서 시간을 측정해야합니다. 포함될 수있는 변수가 무엇이든 비교해야합니다.