Re: PGDG ODBC, ODBCng, DBD::Pg

Lists: pgsql-odbc
From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: pgsql-odbc(at)postgresql(dot)org
Subject: PGDG ODBC, ODBCng, DBD::Pg
Date: 2006-09-28 22:25:50
Message-ID: 451C4BEE.9060906@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-odbc

Hello,

I was running some basic benchmarks in comparison of the three
aforementioned products. I thought I would drop a link here for people
to compare:

http://projects.commandprompt.com/public/odbcng/wiki/Performance

One thing of note that is very positive IMHO is that PGDG ODBC and
ODBCng both are showing that they can readily keep up with DBD::Pg in
terms of basic performance.

Oddly, the ODBCng buffering option doesn't seem to offer as much benefit
as we thought it would but I need to test that with larger (wider) data
sets.

The versions tested were:

PGDG: 08.01.0200-2
ODBCng: Rev 76
DBD::Pg: 1.49

The machine was:

AMD X2 3800
2 Gig of Ram
PostgreSQL 8.1.4

Each test is ran in isolation, meaning that we create our connection,
run our cleanup, run our test and then disconnect. For each test, thus
no caching is occurring from PostgreSQL.

Anyway, these test clearly show that both ODBC drivers for PostgreSQL
have shown drastic improvement over the last 12 months.

Sincerely,

Joshua D. Drake

--

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/


From: "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>
To: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: PGDG ODBC, ODBCng, DBD::Pg
Date: 2006-09-29 07:28:31
Message-ID: E7F85A1B5FF8D44C8A1AF6885BC9A0E40176D15A@ratbert.vale-housing.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-odbc

> -----Original Message-----
> From: pgsql-odbc-owner(at)postgresql(dot)org
> [mailto:pgsql-odbc-owner(at)postgresql(dot)org] On Behalf Of Joshua D. Drake
> Sent: 28 September 2006 23:26
> To: pgsql-odbc(at)postgresql(dot)org
> Subject: [ODBC] PGDG ODBC, ODBCng, DBD::Pg
>
> Hello,
>
> I was running some basic benchmarks in comparison of the three
> aforementioned products. I thought I would drop a link here for people
> to compare:
>
> http://projects.commandprompt.com/public/odbcng/wiki/Performance
>
> One thing of note that is very positive IMHO is that PGDG ODBC and
> ODBCng both are showing that they can readily keep up with DBD::Pg in
> terms of basic performance.
>
> Oddly, the ODBCng buffering option doesn't seem to offer as
> much benefit
> as we thought it would but I need to test that with larger
> (wider) data
> sets.
>
> The versions tested were:
>
> PGDG: 08.01.0200-2
> ODBCng: Rev 76
> DBD::Pg: 1.49

Any chance of running the same test again against psqlODBC 08.02.0100?
It's a totally different architecture to the 08.01 series.

You might also try something like odbc-bench for some more realistic
tests.

Cheers, Dave.


From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: PGDG ODBC, ODBCng, DBD::Pg
Date: 2006-09-29 15:21:17
Message-ID: 451D39ED.4060700@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-odbc


>>
>> The versions tested were:
>>
>> PGDG: 08.01.0200-2
>> ODBCng: Rev 76
>> DBD::Pg: 1.49
>
> Any chance of running the same test again against psqlODBC 08.02.0100?
> It's a totally different architecture to the 08.01 series.

Be happy to.

>
> You might also try something like odbc-bench for some more realistic
> tests.

You bet.

Sincerely,

Joshua D. Drake

>
> Cheers, Dave.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>

--

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/


From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: PGDG ODBC, ODBCng, DBD::Pg
Date: 2006-09-29 15:49:43
Message-ID: 451D4097.2040606@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-odbc


>> The versions tested were:
>>
>> PGDG: 08.01.0200-2
>> ODBCng: Rev 76
>> DBD::Pg: 1.49
>
> Any chance of running the same test again against psqlODBC 08.02.0100?
> It's a totally different architecture to the 08.01 series.
>
> You might also try something like odbc-bench for some more realistic
> tests.

Either I am cranked, or odbc-bench doesn't appear to support
postgresql... do you a compatible schema for them?

Joshua D. Drake

>
> Cheers, Dave.
>

--

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/


From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
Cc: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>, pgsql-odbc(at)postgresql(dot)org
Subject: Re: PGDG ODBC, ODBCng, DBD::Pg
Date: 2006-10-09 21:26:37
Message-ID: 452ABE8D.6030007@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-odbc

Joshua D. Drake wrote:
>>> The versions tested were:
>>>
>>> PGDG: 08.01.0200-2
>>> ODBCng: Rev 76
>>> DBD::Pg: 1.49
>> Any chance of running the same test again against psqlODBC 08.02.0100?
>> It's a totally different architecture to the 08.01 series.
>>
>> You might also try something like odbc-bench for some more realistic
>> tests.
>
> Either I am cranked, or odbc-bench doesn't appear to support
> postgresql... do you a compatible schema for them?

Dave per your request, PostgreSQL ODBC versus ODBCng. Unfortunately I
couldn't test with 08.02 because I am on 64bit. I ran 6 tests. The tests
are identical except:

Async:
ODBCng
ODBCng Buffering mode
PostgreSQL ODBC

Not Async:
ODBCng
ODBCng Buffering mode
PostgreSQL ODBC

jd(at)scratch:~/ODBCtest$ ./testodbc.pl
==========================================================
Initializing ODBC-Bench
Done
ODBCng Buffering Async
==========================================================

Connecting to CommandLine : DSN=<odbcng_buffer> UID=<postgres>
Driver : 00.99.0067 (libmodbc.so)
Connection to CommandLine opened

Connection to CommandLine closed

Connecting to CommandLine : DSN=<odbcng_buffer> UID=<postgres>
Driver : 00.99.0067 (libmodbc.so)
Connection to CommandLine opened

CommandLine - PostgreSQL(libmodbc.so) - all 10 TPC-A Threads completed
successfully.
Calculating statistics:
SQL options used: 10 Threads/Async/Params
Transaction time: 61.000000
Environmental overhead: -1.000000
Total transactions: 66224
Transactions per second: 1085.639404
% less than 1 second: 99.983391
% 1 < n < 2 seconds: 0.016610
Average processing time: 0.000921
Connection to CommandLine closed
==========================================================
ODBCng No Buffering Async
==========================================================

Connecting to CommandLine : DSN=<odbcng_nobuffer> UID=<postgres>
Driver : 00.99.0067 (libmodbc.so)
Connection to CommandLine opened

Connection to CommandLine closed

Connecting to CommandLine : DSN=<odbcng_nobuffer> UID=<postgres>
Driver : 00.99.0067 (libmodbc.so)
Connection to CommandLine opened

CommandLine - PostgreSQL(libmodbc.so) - all 10 TPC-A Threads completed
successfully.
Calculating statistics:
SQL options used: 10 Threads/Async/Params
Transaction time: 61.000000
Environmental overhead: -1.000000
Total transactions: 63063
Transactions per second: 1033.819702
% less than 1 second: 99.976212
% 1 < n < 2 seconds: 0.023786
Average processing time: 0.000967
Connection to CommandLine closed
==========================================================
PostgreSQL ODBC Async
==========================================================

Connecting to CommandLine : DSN=<pgdg> UID=<postgres>
Driver : 08.01.0200 (libpsqlodbc.so)
Connection to CommandLine opened

Connection to CommandLine closed

Connecting to CommandLine : DSN=<pgdg> UID=<postgres>
Driver : 08.01.0200 (libpsqlodbc.so)
Connection to CommandLine opened

CommandLine - PostgreSQL(libpsqlodbc.so) - all 10 TPC-A Threads
completed successfully.
Calculating statistics:
SQL options used: 10 Threads/Async/Params
Transaction time: 61.000000
Environmental overhead: -1.000000
Total transactions: 37317
Transactions per second: 611.754089
% less than 1 second: 99.965164
% 1 < n < 2 seconds: 0.034837
Average processing time: 0.001635
Connection to CommandLine closed
==========================================================
ODBCng Buffering
==========================================================

Connecting to CommandLine : DSN=<odbcng_buffer> UID=<postgres>
Driver : 00.99.0067 (libmodbc.so)
Connection to CommandLine opened

Connection to CommandLine closed

Connecting to CommandLine : DSN=<odbcng_buffer> UID=<postgres>
Driver : 00.99.0067 (libmodbc.so)
Connection to CommandLine opened

CommandLine - PostgreSQL(libmodbc.so) - all 10 TPC-A Threads completed
successfully.
Calculating statistics:
SQL options used: 10 Threads/Params
Transaction time: 61.000000
Environmental overhead: -1.000000
Total transactions: 64843
Transactions per second: 1063.000000
% less than 1 second: 99.976868
% 1 < n < 2 seconds: 0.023133
Average processing time: 0.000941
Connection to CommandLine closed
==========================================================
ODBCng No Buffering
==========================================================

Connecting to CommandLine : DSN=<odbcng_nobuffer> UID=<postgres>
Driver : 00.99.0067 (libmodbc.so)
Connection to CommandLine opened

Connection to CommandLine closed

Connecting to CommandLine : DSN=<odbcng_nobuffer> UID=<postgres>
Driver : 00.99.0067 (libmodbc.so)
Connection to CommandLine opened

CommandLine - PostgreSQL(libmodbc.so) - all 10 TPC-A Threads completed
successfully.
Calculating statistics:
SQL options used: 10 Threads/Params
Transaction time: 61.000000
Environmental overhead: -1.000000
Total transactions: 63025
Transactions per second: 1033.196777
% less than 1 second: 99.979370
% 1 < n < 2 seconds: 0.020627
Average processing time: 0.000968
Connection to CommandLine closed
==========================================================
PostgreSQL ODBC
==========================================================

Connecting to CommandLine : DSN=<pgdg> UID=<postgres>
Driver : 08.01.0200 (libpsqlodbc.so)
Connection to CommandLine opened

Connection to CommandLine closed

Connecting to CommandLine : DSN=<pgdg> UID=<postgres>
Driver : 08.01.0200 (libpsqlodbc.so)
Connection to CommandLine opened

CommandLine - PostgreSQL(libpsqlodbc.so) - all 10 TPC-A Threads
completed successfully.
Calculating statistics:
SQL options used: 10 Threads/Params
Transaction time: 61.000000
Environmental overhead: -1.000000
Total transactions: 35435
Transactions per second: 580.901611
% less than 1 second: 99.932274
% 1 < n < 2 seconds: 0.067730
Average processing time: 0.001721
Connection to CommandLine closed

=========================================================

--

=== The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive PostgreSQL solutions since 1997
http://www.commandprompt.com/