Příručka:$wgDBservers

This page is a translated version of the page Manual:$wgDBservers and the translation is 100% complete.
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

Podrobnosti

Od MediaWiki 1.18 (Release notes) potřebuje uživatel databáze pro všechny databáze nakonfigurované v tomto poli (pokud používáte replikaci) oprávnění REPLICATION CLIENT k určení zpoždění mezi primární <-> replikou.

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

Všimněte si, že MSSQL již není podporován počínaje MediaWiki 1.34.
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