Async Query Processing on Solaris

From: "Passynkov, Vadim" <Vadim(dot)Passynkov(at)pathcom(dot)com>
To: "'pgsql-general(at)postgresql(dot)org'" <pgsql-general(at)postgresql(dot)org>
Cc: "'pgsql-performance(at)postgresql(dot)org'" <pgsql-performance(at)postgresql(dot)org>
Subject: Async Query Processing on Solaris
Date: 2003-12-04 06:22:08
Message-ID: C8C8E7457059D5119E4700D0B765DCB8016AA7EB@sinope.inside.pathcom.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-performance

I am using Asynchronous Query Processing interface from libpq library.
And I got some strange results on Solaris

My test select query is 'SELECT * from pg_user;'
and I use select system synchronous I/O multiplexer in 'C'

The first test sends 10000 select queries using 10 nonblocking connections
to database ( PQsendQuery ).
The second test sends the same 10000 select queries using 1 connection (
PQexec ).

On FreeBSD there is a huge difference between the async and the sync tests.
The async test is much faster than sync test.
On Solaris there is no speed difference between async and sync test,
actually async test is even slower than sync test.

Q. Why ?

On FreeBSD:

/usr/bin/time ./PgAsyncManager async
async test start ... 10000 done
9.46 real 3.48 user 1.25 sys

/usr/bin/time ./PgAsyncManager sync
sync test start ... 10000 done
22.64 real 3.35 user 1.24 sys

On Solaris:

/usr/bin/time ./PgAsyncManager async
async test start ... 10000 done

real 20.6
user 2.1
sys 0.4

/usr/bin/time ./PgAsyncManager sync
sync test start ... 10000 done

real 18.4
user 1.1
sys 0.5

Browse pgsql-general by date

  From Date Subject
Next Message Alex Satrapa 2003-12-04 07:33:37 Re: PostgreSQL Advocacy, Thoughts and Comments
Previous Message Williams, Travis L, NEO 2003-12-04 05:42:06 Re: Pronouncing PostgreSQL

Browse pgsql-performance by date

  From Date Subject
Next Message Paul Tuckfield 2003-12-04 08:24:50 Re: Has anyone run on the new G5 yet
Previous Message Matthew T. O'Connor 2003-12-04 05:38:46 Re: autovacuum daemon stops doing work after about an hour