sql >> Databáze >  >> RDS >> Mysql

Používání trvalého připojení PHP-MySQL ke spuštění blogu WordPress

Při připojování k databázi MySQL bude weblog WordPress založený na skriptování PHP standardně používat netrvalé připojení. To znamená, že WordPress spustí PHP, aby vygenerovalo nové připojení k serveru MySQL pro každý požadavek na dynamickou stránku a následně uzavře připojení k databázi, jakmile je tvorba webové stránky dokončena. Opakované otevírání a zavírání připojení MySQL způsobuje režii a spotřebovává vzácné CPU, paměť a systémové zdroje na webhostingu.

Použití trvalého připojení k připojení k databázovému serveru MySQL není vždy dobrou volbou. Každé připojení zabírá zdroje, včetně paměti, vyrovnávacích pamětí, mezipaměti tabulek nebo vláken interně v MySQL a soketech, otevřených souborů nebo IO aktivity na úrovni OS. Když je tedy po dokončení transakcí otevřeno mnoho trvalých připojení, ale neuzavřeno, mohou se zdroje v systému vyčerpat a snížit výkon webového serveru nebo v nejhorším případě způsobit selhání HTTP. Kromě toho, pokud je trvalé připojení zastaveno, neaktivní nebo nefunkční nebo se již nepoužívá, není ukončeno a server MySQL jej pouze uzavře, aby uvolnil zdroj obsazený připojením po přibližně 28 800 sekundách (8 hodinách) ve výchozím nastavení, pokud změnil parametry časového limitu v konfiguračních souborech my.cnf. Těchto několik faktorů může způsobit problémy, jako je odmítnutí nových DB připojení MySQL nebo pomalý server, pokud aplikace správně nezpracovávají trvalá připojení.

Pokud tedy nejste zkušenými webmastery, nepokoušejte se změnit WordPress tak, aby používal trvalá připojení.

Pro blogery, kteří mají zaneprázdněný a velký blog a čelí omezením při upgradu specifikací systému webového hostitele a nechtějí používat plugin pro ukládání statické stránky do mezipaměti, jako je WP-Cache, je trvalé připojení dostupnou možností, jak vyladit a optimalizovat webový server. abyste zjistili, zda může být zobrazování webové stránky rychlejší. Trvalé připojení umožňuje připojení jednou otevřít a nebude ukončeno, když skončí provádění skriptu. Místo toho je odkaz uchováván ve fondu a zůstane otevřený pro budoucí použití. Použití trvalých připojení tedy eliminuje proces otevírání a zavírání připojení. To nepřímo sníží režii serveru související s připojením MySQL, jako je autentizace pro navázání připojení tam, kde je potřeba pouze jednou, což ušetří další síťový provoz a zdroje používané pro další připojení. Kromě toho mohou existovat některé mezipaměti na úrovni připojení, které je třeba pro správný výkon vyplnit a potenciálně snížit počet připojení k databázi.

Ve výchozím nastavení používá WordPress funkci mysql_connect(), která na každé stránce naváže nové připojení k databázi. Funkce trvalého připojení bude vyžadovat funkci mysql_pconnect(), která používá přesně stejné API, ale má vestavěné sdružování připojení, aby udržela spojení mezi požadavky naživu. Chcete-li tedy přejít na používání trvalého připojení ke spuštění WordPressu, funkce mysql_connect() musí být nahrazena funkcí mysql_pconnect().

Chcete-li povolit a používat trvalá připojení s WordPress, jednoduše se přihlaste ke svému webovému hostiteli pomocí SSH (nebo nezabezpečeného Telnetu) a změňte adresář na domovský adresář webroot, kde je nainstalován blog WordPress.

Vyhledejte a upravte soubor wp-config.php soubor a přidejte následující řádky (nebo změňte na následující hodnoty, pokud konstanty již existovaly):

define('USE_PCONNECT', true);
define('WP_CACHE', false);

WordPress a PHP (pokud nevypnete mysql.allow_persistent v PHP.INI) budou okamžitě používat trvalá připojení k připojení k databázi MySQL. Stojí za to vyzkoušet, které nastavení je pro vaše prostředí nejlepší.

Následující kroky jsou také funkční, ale zahrnují hackování základního souboru WordPress, a proto se nedoporučují a jsou v tomto článku ponechány pouze pro referenci.

Změňte adresář na wp-includes adresář. Uvnitř adresáře wp-includes je wp-db.php soubor. K úpravě wp-db.php použijte libovolný textový editor, například vi. Vyhledejte nebo najděte funkci mysql_connect (nebo @mysql_connect ). Existuje pouze jedna instance mysql_connect. Stačí změnit mysql_connect na mysql_pconnect , poté uložte a ukončete soubor wp-db.php.


  1. Jak dosáhnu toho, aby instalace gem fungovala na OS X Lion s Ruby 1.8.7, aniž by seg chyboval?

  2. Dočasně deaktivujte všechna omezení cizího klíče

  3. Žádné mapování dialektu pro typ JDBC:2003

  4. Najděte 2. nejvyšší plat nejlepšími možnými způsoby