Load balancing
Load balancing
Load balancing
Four load balancing strategies are supported to
distribute statements over the configured MySQL slave servers:
- random
-
Chooses a random server whenever a statement is
executed. - random once (default)
-
Chooses a random server after the first statement
is executed, and uses the decision for the rest of the PHP
request.It is the default, and the lowest impact on the
connection state. - round robin
-
Iterates over the list of configured servers.
- user-defined via callback
-
Is used to implement any other strategy.
The load balancing policy is configured in the
plugins configuration file using the random, roundrobin, and user filters.
Servers can be prioritized assigning a weight. A
server that has been given a weight of two will get twice as many
requests as a server that has been given the default weight of one.
Prioritization can be handy in heterogenous environments. For
example, you may want to assign more requests to a powerful machine
than to a less powerful. Or, you may have configured servers that
are close or far from the client, thus expose different
latencies.