Async Query Processing on Solaris

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Passynkov, Vadim

    Async Query Processing on Solaris

    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

    ---------------------------(end of broadcast)---------------------------
    TIP 1: subscribe and unsubscribe commands go to majordomo@postg resql.org

Working...