Příručka:$wgDBservers
Nastavení LoadBalanceru: $wgDBservers | |
---|---|
Nastavení nástroje pro vyrovnávání zatížení databáze (databázové servery a poměry zatížení). |
|
Zavedeno od verze: | 1.2.0 |
Odstraněno od verze: | stále se používá |
Povolené hodnoty: | viz níže |
Výchozí hodnota: | false |
Další nastavení: Podle abecedy | Podle funkce |
Podrobnosti
Nástroj pro vyrovnávání zatížení databáze. Toto je dvourozměrné pole, pole informačních struktur serveru. Pole jsou:
- host
- Název hostitele (viz $wgDBserver ). Pro MySQL může obsahovat port nebo cestu soketu za dvojtečkou.
- dbname
- Výchozí název databáze (viz $wgDBname )
- user
- Uživatel DB (viz $wgDBuser )
- password
- Heslo DB (viz $wgDBpassword )
- type
- "mysql" nebo "postgres" (viz $wgDBtype )
- load
- poměr zatížení DB_REPLICA, musí být >=0, součet všech zatížení musí být >0
- groupLoads
- pole poměrů zatížení, klíčem je název skupiny dotazů. Dotaz může patřit do několika skupin, používá se nejkonkrétnější zde definovaná skupina. (zavedeno od 1.4.3)
- max lag
- (volitelné) Maximální prodleva replikace, než bude replika vyřazena z rotace
- max threads
- (volitelné) Maximální počet běžících vláken (odstraněno od 1.23)
- flags
- bitové pole:
- DBO_DEFAULT — zapne DBO_TRX pouze pokud $wgCommandLineMode != true (doporučeno)
- DBO_DEBUG — ekvivalent $wgDebugDumpSql
- DBO_TRX — automaticky spouštět transakce (viz Databázové transakce )
- DBO_IGNORE — ignorovat chyby (neužitečné v LocalSettings.php)
- DBO_NOBUFFER — vypnout ukládání do vyrovnávací paměti (není užitečné v LocalSettings.php)
- DBO_SSL — používat zabezpečené připojení (zastaralé od 1.39)
- DBO_COMPRESS — komprimovat komunikaci
- DBO_PERSISTENT — povolit trvalá spojení
- ssl (zavedeno od 1.39)
- Boolean, zda použít šifrování TLS. Přepíše DBO_SSL.
Chcete-li použít výše uvedené proměnné pro jeden server, ponechte na false.
Primární musí být první záznam v poli.
Příklad 1:
$wgDBservers = [
[
'host' => "primary.serv.er",
'dbname' => "wikidb",
'user' => "wikiuser",
'password' => "secret",
'type' => "mysql",
'flags' => DBO_DEFAULT,
'load' => 0,
],
[
'host' => "replica1.serv.er",
'dbname' => "wikidb",
'user' => "wikiuser",
'password' => "secret",
'type' => "mysql",
'flags' => DBO_DEFAULT,
'load' => 1,
],
[
'host' => "replica2.serv.er",
'dbname' => "wikidb",
'user' => "wikiuser",
'password' => "secret",
'type' => "mysql",
'flags' => DBO_DEFAULT,
'load' => 1,
],
];
To by konfigurovalo jednu primární a dvě repliky, přičemž každá replika by měla stejné množství zatížení přístupu pro čtení.
Příklad 2:
$wgDBservers = [
[
'host' => 'serv.er',
'dbname' => 'wikidb',
'user' => 'wikiuser',
'password' => 'secret',
'type' => 'mysql',
'flags' => DBO_DEFAULT | DBO_SSL,
'load' => 0
]
];
To by nakonfigurovalo jeden server s vlastním připojením SSL, pokud selže $wgDBssl nastavený na true
.
Tyto a jakékoli další uživatelem definované vlastnosti budou přiřazeny členské proměnné mLBInfo objektu Database.
Specifické možnosti pro MySQL
- lagDetectionMethod
- Nastavte na jednu z (Seconds_Behind_Master,pt-heartbeat). pt-heartbeat předpokládá, že tabulka je na heartbeat.heartbeat a používá časová razítka UTC ve sloupci heartbeat.ts. (https://www.percona.com/doc/percona-toolkit/2.2/pt-heartbeat.html)
- lagDetectionOptions
- Pokud používáte pt-heartbeat, můžete to nastavit na mapu pole a změnit výchozí chování. Normálně se použije řádek prezenčního signálu s ID serveru primárního serveru tohoto serveru. Nastavením pole "conds" přepíšete podmínky dotazu, např. ['shard' => 's1'].
- useGTIDs
- Pokud je to možné, používejte metody GTID, jako je MASTER_GTID_WAIT().
- sslKeyPath
- Cesta k souboru klíče.
- sslCertPath
- Cesta k souboru certifikátu.
- sslCAFile
- Cesta k jedinému souboru PEM certifikační autority. (zavedeno od 1.30+)
- sslCAPath
- Cesta k adresáři PEM certifikační autority.
- sslCiphers
- Pole seznamu povolených šifer.
Specifické možnosti PostgreSQL
- port
- Port pro připojení k serveru.
- keywordTableMap
- Mapa rezervovaných názvů tabulek pro alternativní názvy tabulek k použití
Specifické možnosti SQLite
- dbFilePath
- Cesta k souboru databáze.
- dbDirectory
- Cesta k adresáři obsahujícímu soubor databáze. Potřebné pouze v případě, že není zadán dbFilePath a vyžaduje dbname.
- dbname
- Název databáze (bez přípony .sqlite). Potřebné pouze v případě, že není zadán dbFilePath a vyžaduje dbDirectory.
- trxMode
- Transakční režim. Jeden z DEFERRED, IMMEDIATE nebo EXCLUSIVE.
Specifické možnosti MSSQL
- port
- Port pro připojení k serveru.
- UseWindowsAuth
- Použijte Integrated Windows Authentication pro ověření k databázi namísto uživatelského jména/hesla.
Důležité poznámky
Pokud přepnete na toto, ujistěte se, že buď ponecháte $wgDBname , $wgDBprefix a $wgDBTableOptions nastavený, nebo zajistíte, že $wgCookiePrefix a $wgCachePrefix bude nastaveno explicitně.
Všimněte si také, že pokud se připojujete pouze k jednomu databázovému serveru, parametr load
musí být nastaven na 0
.
Související odkazy
- $wgDBserver - pro nastavení jednoho serveru