From: | mkz(at)pgfoundry(dot)org (User Mkz) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgbouncer - pgbouncer: New tunable 'sbuf_loopcnt' to limit time spent on |
Date: | 2008-11-19 12:06:37 |
Message-ID: | 20081119120637.6238C17ADE0B@pgfoundry.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
New tunable 'sbuf_loopcnt' to limit time spent on one socket.
In some situations - eg SMP server, local Postgres and fast network -
pgbouncer can run recv()->send() loop many times without blocking
on either side. But that means other connections will stall for
a long time. To make processing more fair, limit the times
of doing recv()->send() one socket. If count reaches limit,
just proceed processing other sockets. The processing for
that socket will resume on next event loop.
Thanks to Alexander Schcke for report and testing.
Modified Files:
--------------
pgbouncer/doc:
config.txt (r1.15 -> r1.16)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgbouncer/pgbouncer/doc/config.txt.diff?r1=1.15&r2=1.16)
pgbouncer/include:
bouncer.h (r1.19 -> r1.20)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgbouncer/pgbouncer/include/bouncer.h.diff?r1=1.19&r2=1.20)
pgbouncer/src:
main.c (r1.49 -> r1.50)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgbouncer/pgbouncer/src/main.c.diff?r1=1.49&r2=1.50)
sbuf.c (r1.32 -> r1.33)
(http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgbouncer/pgbouncer/src/sbuf.c.diff?r1=1.32&r2=1.33)
From | Date | Subject | |
---|---|---|---|
Next Message | User Mkz | 2008-11-19 12:10:50 | pgbouncer - pgbouncer: add milliseconds to log timestamps |
Previous Message | User Mkz | 2008-11-19 11:54:46 | pgbouncer - pgbouncer: debug: log connection endpoints |