|LoadBalancer settings: $wgDBservers|
|Settings for the database load balancer (database servers and load ratios).|
|Introduced in version:||1.2.0|
|Removed in version:||still in use|
|Allowed values:||see below|
|Other settings: Alphabetical | By function|
Database load balancer. This is a two-dimensional array, an array of server info structures. Fields are:
- Host name (see $wgDBserver)
- Default database name (see $wgDBname)
- DB user (see $wgDBuser)
- DB password (see $wgDBpassword)
- "mysql" or "pgsql" (see $wgDBtype)
- ratio of DB_SLAVE load, must be >=0, the sum of all loads must be >0
- array of load ratios, the key is the query group name. A query may belong to several groups, the most specific group defined here is used. (added in 1.4.3)
- bit field:
- DBO_DEFAULT -- turns on DBO_TRX only if $wgCommandLineMode != true (recommended)
- DBO_DEBUG -- equivalent of $wgDebugDumpSql
- DBO_TRX -- automatically start transactions (see Database transactions)
- DBO_IGNORE -- ignore errors (not useful in LocalSettings.php)
- DBO_NOBUFFER -- turn off buffering (not useful in LocalSettings.php)
- DBO_SSL -- use a secure connection
- DBO_COMPRESS -- compress communication
Leave at false to use the single-server variables listed above.
The master must be the first entry in the array.
$wgDBservers = array( array( 'host' => "master.serv.er", 'dbname' => "wikidb", 'user' => "wikiuser", 'password' => "secret", 'type' => "mysql", 'flags' => DBO_DEFAULT, 'load' => 0, ), array( 'host' => "slave1.serv.er", 'dbname' => "wikidb", 'user' => "wikiuser", 'password' => "secret", 'type' => "mysql", 'flags' => DBO_DEFAULT, 'load' => 1, ), array( 'host' => "slave2.serv.er", 'dbname' => "wikidb", 'user' => "wikiuser", 'password' => "secret", 'type' => "mysql", 'flags' => DBO_DEFAULT, 'load' => 1, ), );
This would configure one master and two slaves, each slave getting an equal amount of read access load.
- max lag
- (optional) Maximum replication lag before a slave will be taken out of rotation
- max threads
- ((removed in 1.23) optional) Maximum number of running threads
These and any other user-defined properties will be assigned to the mLBInfo member variable of the Database object.
Versions of MediaWiki prior to 1.4.0 used a single-dimensional array, listing the server names, e.g. array("larousse", "pliny"), which was used in conjunction with $wgDBloads. From 1.4.0 onwards, $wgDBloads is deprecated and the above method must be used.
The groupLoads field was added in 1.4.3.
max lag and max threads (and the use of other user-defined properties) was added in 1.6.0