Skip site navigation (1) Skip section navigation (2)

ODBC Driver performance

From: Josef Bicik <jbicik(at)gmail(dot)com>
To: pgsql-odbc(at)postgresql(dot)org
Subject: ODBC Driver performance
Date: 2010-03-31 14:35:50
Message-ID: 4BB35DC6.5050209@gmail.com (view raw or flat)
Thread:
Lists: pgsql-odbc
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

pgsql-odbc by date

Next:From: Jonathan FoyDate: 2010-04-07 19:57:48
Subject: Acucobol, ODBC and Postgres
Previous:From: raja agireddyDate: 2010-03-30 16:56:38
Subject: iodbctest: fatal: relocation error

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group