Ho letto questa domanda La replica master / slave di MySQL non funziona e la sua risposta:
L'uso dei database slave è a malapena implementato nel core di Drupal. Se stai sviluppando i tuoi moduli, le chiamate a db_query devono specificare che vogliono usare il database slave usando l'array $ options. Vedere DatabaseConnection :: defaultOptions per come impostare questo array.
Esiste un modo senza uccidere i gattini che hackerano il core per ottenere db_query()
e db_select()
fare più query SELECT sugli schiavi?
Per impostazione predefinita, queste funzioni interrogano il master a meno che non sia espressamente richiesto di interrogare lo slave (vedere la loro API). Devi scrivere db_query($query, $args, array('target' => 'slave'))
per interrogare lo slave e il core (e tutti i moduli) non sono scritti per raggiungere questo obiettivo.
Solo la ricerca (vedi la parte slave) e l'aggregatore sembrano sfruttare questo.
Modifica: 25 ottobre.
Ho visto pressflow 7 uscito ma non sono sicuro che sia di grande aiuto in questo momento.
Non ho trovato qualcosa di rilevante, quindi proviamo una piccola ricompensa per aiutare a ottenere una risposta.
Modifica: 31 ott.
Sono principalmente preoccupato per i commenti di Crell su questo argomento: cosa fare degli schiavi? .
Principalmente, ci sono problemi se invio SELECT
query allo slave, cosa succede con i ritardi nella replica e il fatto che potrei voler fare node_load()
subito dopo aver salvato un nuovo nodo.
SELECT
query? Come gestite i ritardi nella replica e il fatto che il caricamento di un nodo subito dopo il salvataggio possa causare problemi?