L'utilizzo di una connessione persistente per connettersi al server di database MySQL non è sempre una buona opzione. Ogni connessione occupa risorse, tra cui memoria, buffer, cache di tabelle o thread internamente in MySQL e socket, file aperti o attività IO a livello di sistema operativo. Pertanto, quando molte connessioni persistenti vengono aperte ma non chiuse dopo il completamento delle transazioni, le risorse sul sistema potrebbero esaurirsi e ridurre le prestazioni del server Web o, nel peggiore dei casi, causare un errore HTTP. Inoltre, se una connessione persistente è bloccata, inattiva o è diventata defunta o non è più utilizzata, non viene terminata e il server MySQL la chiuderà solo per rilasciare la risorsa occupata dalla connessione dopo circa 28800 secondi (8 ore) per impostazione predefinita, a meno che modificato i parametri di timeout nei file di configurazione my.cnf. Questi pochi fattori possono causare problemi come MySQL che rifiuta nuove connessioni DB o server lento se le applicazioni non gestiscono correttamente le connessioni persistenti.
Pertanto, se non sei un webmaster esperto, non tentare di modificare WordPress per utilizzare connessioni persistenti.
Tuttavia, per i blogger che hanno un blog impegnativo e di grandi dimensioni e devono affrontare vincoli nell'aggiornamento delle specifiche del sistema host web e non desiderano utilizzare plug-in di memorizzazione nella cache di pagine statiche come WP-Cache, la connessione persistente è un'opzione disponibile per ottimizzare e ottimizzare il server web per vedere se la pubblicazione della pagina web può essere più veloce. La connessione persistente consente alla connessione di essere aperta una volta e non verrà chiusa al termine dell'esecuzione dello script. Invece, il collegamento è mantenuto in pool e rimarrà aperto per un uso futuro. Pertanto, l'utilizzo di connessioni persistenti eliminerà il processo di apertura e chiusura della connessione. Ciò ridurrà indirettamente le spese generali del server relative alla connessione MySQL, come l'autenticazione per stabilire una connessione dove è necessaria una sola volta, il risparmio di traffico di rete aggiuntivo e le risorse utilizzate per gestire la connessione aggiuntiva. Inoltre, potrebbero esserci alcune cache a livello di connessione, che devono essere riempite per prestazioni adeguate e potenzialmente riducono il numero di connessioni al database.
Per impostazione predefinita, WordPress utilizza la funzione mysql_connect() che stabilisce una nuova connessione al database in ogni pagina. La funzione di connessione persistente richiederà la funzione mysql_pconnect() che utilizza la stessa identica API, ma ha un pool di connessioni integrato per mantenere attive le connessioni tra le richieste. Quindi, per passare all'utilizzo della connessione persistente per eseguire WordPress, la funzione mysql_connect() deve essere sostituita con mysql_pconnect().
Per abilitare e utilizzare connessioni persistenti con WordPress, accedi semplicemente al tuo host web con SSH (o Telnet non sicuro) e cambia directory nella home directory webroot in cui è installato il blog WordPress.
Individua e modifica wp-config.php file e aggiungi le seguenti righe (o cambia i seguenti valori se le costanti esistevano già):
define('USE_PCONNECT', true); define('WP_CACHE', false);
WordPress e PHP (finché non disattivi mysql.allow_persistent in PHP.INI) utilizzeranno immediatamente connessioni persistenti per connettersi al database MySQL. Vale la pena provare quale impostazione è la migliore per il tuo ambiente.
Anche i seguenti passaggi sono praticabili, ma comportano l'hacking del file principale di WordPress, quindi non consigliato e lasciato in questo articolo solo come riferimento.
Cambia la directory in wp-includes directory. All'interno della directory wp-includes c'è wp-db.php file. Usa qualsiasi editor di testo come vi per modificare wp-db.php. Cerca o individua la funzione di mysql_connect (o @mysql_connect ). C'è solo un'istanza di mysql_connect. Basta cambiare mysql_connect in mysql_pconnect , quindi salva ed esci da wp-db.php.