Re: PostgreSQL pre-fork speedup - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Re: PostgreSQL pre-fork speedup
Date
Msg-id 20040512.142835.112627099.t-ishii@sra.co.jp
Whole thread Raw
In response to Re: PostgreSQL pre-fork speedup  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Responses Re: PostgreSQL pre-fork speedup
List pgsql-hackers
> > Sorry for the confusion because Rod asked a question
> > and I answered too quickly. This is what I mean.
> > 
> > 15x Slower:
> > -----------
> > Client <--TCP--> PgPool <--UNIX--> PostgreSQL
> > Client <--TCP--> PgPool <--TCP--> PostgreSQL
> > 
> > 5x Faster:
> > ----------
> > Client <--UNIX--> PgPool <--UNIX--> PostgreSQL
> > Client <--UNIX--> PgPool <--TCP--> PostgreSQL
> > 
> > 
> > Hope this helps! Pgpool speeds up connection time by
> > 5x with UNIX socket due to pre-fork and connection
> > pooling. However, pgpool slows down by 15x under TCP
> > socket for some unknown reason.
> 
> It appeared that the cause of TCP socket slowness was in reading the
> startup packet which is performed by read_startup_packet(). I did some
> measurement for the function and it showed huge difference between
> UNIX and TCP sockets. Times (in micro sec) for 100 call to
> read_startup_packet() are:
> 
> UNIX socket: 623
> TCP socket:  6086
> 
> As you can see TCP is nearly 10 times slower than UNIX socket. In the
> function there are 2 read()s to process the startup packet. I think I
> could enhance pool_read() so that it reduces the call to read() as
> little as possible...

I think I have improved the TCP performance of pgpool. With my quick
testing, in the follwing case pgpool is at least as fast as
PostgreSQL(client directly connected to PostgreSQL).

> > 15x Slower:
> > -----------
> > Client <--TCP--> PgPool <--UNIX--> PostgreSQL
> > Client <--TCP--> PgPool <--TCP--> PostgreSQL

The latest version can be obtained from:

http://www2b.biglobe.ne.jp/~caco/pgpool/pgpool-1.2.2.tar.gz
--
Tatsuo Ishii


pgsql-hackers by date:

Previous
From: Joe Conway
Date:
Subject: Re: Module dependency on PostgeSQL version
Next
From: Christopher Kings-Lynne
Date:
Subject: Re: Subtle pg_dump problem...