ODBC Driver performance

ODBC Driver performance

am 31.03.2010 16:35:50 von Josef Bicik

Hi,

I wrote a C# (.NET v2) single-threaded console application in Microsoft
Visual Studio 2008, which uses the PostgreSQL ANSI 8.03.04.00 ODBC
driver to connect to PostgreSQL database running on a standalone server.
The application retrieves raw data from the database, performs analysis
and stores results to the database. Multiple instances of the
application can be created at a time and run simultaneously. When
multiple instances of the application are created on a multi-core
machine the performance of the application is much slower than when the
processes are executed on different nodes (e.g., 3 processes on 1
quad-core machine run approx. 25% slower than 3 processes on 3 quad-core
machines). In case of 4 processes the difference is almost 50%. The CPU
load when 3 processes are running on 1 quad-core machine was approx. 75%
(which was as expected).

Each process uses following ODBC connection string:
Driver={PostgreSQL ANSI};Server=x;Port=5432;Database=x;Uid=x;Pwd=x;"

I did not used any profiler but it seems that the overhead when multiple
processes are running on 1 machine is in incorrect configuration of the
ODBC driver or the driver itself. Any ideas what might be causing the
slowdown? Thanks for your help.

Best regards, Josef

--
Sent via pgsql-odbc mailing list (pgsql-odbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc