Re: client performance v.s. server statistics

From: Zhou Han <zhouhan(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila(at)huawei(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: client performance v.s. server statistics
Date: 2012-02-15 07:01:42
Message-ID: CADtzDCkT9KnO8b8er0T1szoRXK7Pwis9bEDPtUxHK-yQ_UgZNQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance

Hi,

I have tried unix domain socket and the performance is similar with TCP
socket. It is MIPS architecture so memory copy to/from kernel can occupy
much time, and apparently using unit domain socket has no difference than
TCP in terms of memory copy.

But it is still unbelievable for the ten-fold gap between the client side
statistic and the server side statistics. So I want to know what exactly
the operations are involved in the server side statistics in EXPLAIN
ANALYZE. May I check the code later on when I get time.

For the query itself, it was just for performance comparison. There are
other index based queries, which are of course much faster, but still
result in similar ten-fold of time gap between client side and server side
statistics.

I am thinking of non-kernel involved client interface, is there such an
option, or do I have to develop one from scratch?

Best regards,
Han

On Wed, Feb 15, 2012 at 1:23 PM, Amit Kapila <amit(dot)kapila(at)huawei(dot)com> wrote:

> >>So, is it client interface (ODBC, libpq) 's cost mainly due to TCP?****
>
> ** **
>
> The difference as compare to your embedded DB you are seeing is mainly
> seems to be due to TCP.****
>
> One optimization you can use is to use Unix-domain socket mode of
> PostgreSQL. You can refer unix_socket_directory parameter in
> postgresql.conf and other related parameters. ****
>
> I am suggesting you this as earlier you were using embedded DB, so your
> client/server should be on same machine. If now this is not the case then
> it will not work.****
>
> ** **
>
> Can you please clarify some more things like****
>
> **1. **After doing sequence scan, do you need all the records in
> client for which seq. scan is happening. If less records then why you have
> not created index.****
>
> **2. **What is exact scenario for fetching records****
>
> ** **
>
> ** **
>
> ** **
>
> * pgsql-hackers-owner(at)postgresql(dot)org [mailto:
> pgsql-hackers-owner(at)postgresql(dot)org] On Behalf Of Zhou Han
> Sent: Wednesday, February 15, 2012 9:30 AM
> To: pgsql-hackers(at)postgresql(dot)org
> Subject: [HACKERS] client performance v.s. server statistics*
>
> ** **
>
> Hi,
>
> I am checking a performance problem encountered after porting old embeded
> DB to postgreSQL. While the system is real-time sensitive, we are
> concerning for per-query cost. In our environment sequential scanning
> (select * from ...) for a table with tens of thousands of record costs 1 -
> 2 seconds, regardless of using ODBC driver or the "timing" result shown in
> psql client (which in turn, relies on libpq). However, using EXPLAIN
> ANALYZE, or checking the statistics in pg_stat_statement view, the query
> costs only less than 100ms.
> rface (ODBC, libpq) 's cost mainly due to TCP? Has the pg_stat_statement
> or EXPLAIN ANALYZE included the cost of copying tuples from shared buffers
> to result sets?
>
> Could you experts share your views on this big gap? And any suggestions to
> optimise?
>
> P.S. In our original embeded DB a "fastpath" interface is provided to read
> directly from shared memory for the records, thus provides extremely
> realtime access (of course sacrifice some other features such as
> consistency).
>
> Best regards,
> Han****
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2012-02-15 08:18:34 Re: Bugs/slowness inserting and indexing cubes
Previous Message Robert Haas 2012-02-15 06:16:47 Re: Progress on fast path sorting, btree index creation time

Browse pgsql-performance by date

  From Date Subject
Next Message Zhou Han 2012-02-15 09:38:18 Fwd: [HACKERS] client performance v.s. server statistics
Previous Message Amit Kapila 2012-02-15 05:23:04 Re: client performance v.s. server statistics