Re: PostgreSQL pre-fork speedup
От | Tatsuo Ishii |
---|---|
Тема | Re: PostgreSQL pre-fork speedup |
Дата | |
Msg-id | 20040508.113009.78705157.t-ishii@sra.co.jp обсуждение исходный текст |
Ответ на | Re: PostgreSQL pre-fork speedup (sdv mailer <sdvmailer@yahoo.com>) |
Ответы |
Re: PostgreSQL pre-fork speedup
|
Список | pgsql-hackers |
> Hi Bruce, > > 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... -- Tatsuo Ishii
В списке pgsql-hackers по дате отправления: