[Pgpool-general] Question about the load balancing algorithm

Petr Janda elekktretterr at exemail.com.au
Tue Nov 4 00:28:27 UTC 2008


> First of all pgpool-II decides which node should be chosen at the
> session level, not statement level.
>
> pgpool-II is not smart enough to remeber which node is executing a
> large SELECT. However a pgpool process which is handling large SELECT
> is not likely to become idle soon, and next session will be likely
> thrown to the node which executes light SELECT since it has more
> chance to release the connection to the client.
>
> So I think in the long term the load for each backend will be
> balanced.

Hi and thanks for your reply. What is a "session" in the pgpool's
terminology? Does pgpool spawn multiple processes/threads of itself?

The reason I ask is that Im writing a billing system for a client that
uses ridiculous amounts of data. This client is planning massive expansion
in the future(so more nodes will be added). What I must avoid in designing
the load balancing of this system is that if the client or their client
who also participated in the billing(understand my client can start
billing at 12:05 and their client at 12:06) execute a large SELECT and
another client executes also a large SELECT the resources will be
appropriately balanced between the nodes so that both queries wont be
executed on the same node and slowing down processing.

Thanks,
Petr Janda


More information about the Pgpool-general mailing list