Memcached pentru obiecte de cache în WordPress - revista wp

Acasă → Plugin-uri → Memcached pentru obiectele de cache în WordPress

Memcached este una dintre cele mai rapide și cele mai populare mijloace pentru punerea în cache a datelor arbitrare în memorie. În acest articol ne vom uita la instalarea și configurarea serverului Memcached pentru obiectele de cache în WordPress.







Caching corectă în WordPress vă permite să accelereze site-ul de locuri de muncă, reducerea consumului de încărcare și de resurse a site-ului de găzduire, care este deosebit de important atunci când vine vorba de mari proiecte foarte frecventate.

Memcached este un server care vă permite să stocați rapid și eficient de date în memorie cu o anumită cheie cu care datele pot fi la fel de rapid pentru a obține.

Datorită simplității sale, Memcached este mult mai rapid decât MySQL, și consumă mult mai puțină memorie. Există limitări asociate cu această simplitate, de exemplu, nu puteți trimite selectați interogări complexe, astfel încât să înlocuiască complet baza de date cu serverul Memcached în WordPress imposibil.

Caching obiect în WordPress funcționează pe același principiu ca și Memcached - valori sau obiecte arbitrare sunt stocate în memorie, la o anumită cheie. Lipsa unuia - deoarece cache-ul obiect al WordPress este nepermanent, toate valorile stocate în memoria cache sunt resetate atunci când următoarea vizită pagina a site-ului.

Server Memcached ajută pentru a rezolva această problemă și de a face un cache obiect permanent. Acest lucru înseamnă că datele, cum ar fi opțiunea de WordPress site-ului, utilizatorii, termeni, de înregistrare, metadate, etc., pot fi obținute direct din spațiul de stocare Memcached ocolind baza de date MySQL.

instalarea Memcached

Pentru a instala serverul Memcached aveți nevoie de acces de administrator la site-ul dvs. de găzduire. furnizori de hosting Cele mai comune nu oferă o astfel de oportunitate, așa că ar trebui să arate în direcția virtuale (VPS) sau servere dedicate (dedicate). Rețineți, de asemenea, că, în unele site-uri specializate de hosting au instalat deja și configurat serverul Memcached, cum ar fi WP Engine.

Instalați serverul Memcached cu ușurință folosind managerul de pachete într-o anumită distribuție Linux. Cum ar fi Ubuntu sau Debian Linux, puteți face acest lucru folosind un utilitar apt-get:

După efectuarea de modificări în fișierul de configurare nu uitați să reporniți serverul:

Rețineți că repornirea serverului elimină toate datele stocate în memoria cache, deci o repornire într-un site viu poate provoca presiuni suplimentare pe server hosting și nu este recomandată.

Memcached în WordPress

Cache Object Memcached este cel mai popular și de încredere plug-in pentru obiectele caching în serverul Memcached. A fost scris de Ryan Borenom, unul dintre cei mai importanți dezvoltatori de bază WordPress.

Pentru a lucra acest plugin aveți nevoie de extensie memcache pentru PHP, care pot fi găsite în depozitul oficial PECL. Instalați această extensie, puteți folosi PECL comanda de pe server:

După instalarea extensiei (dacă pecl nu face acest lucru pentru tine), va trebui să reporniți PHP, interpret conectat la noul modul.

Instalați plugin-ul Memcached Cache obiect este diferit de setarea celuilalt - nu ar trebui să puneți ștecherul în wp-content / plugins ca Cache Object Memcached nu este un plugin tipic, și așa-numita drop-in (sau impregnare), care se efectuează la o descărcare stadiu incipient core WordPress, și care nu pot fi dezactivate prin intermediul panoului de administrare.

Memcached pentru obiecte de cache în WordPress - revista wp

Drop-in-uri (sau incluziuni) în WordPress

fișier obiect-cache.php de plugin arhivă ar trebui să fie plasat în directorul-wp conținut, atunci plugin-ul devine automat activ.

Dacă în această etapă, atunci când vizitează site-ul dvs., veți vedea un „ecran alb al morții“, motivele ar putea fi mai multe:

  • Nu este instalat modulul memcache pentru PHP
  • serverul Memcached nu rulează
  • Nu există acces la server, de exemplu, acesta este configurat la un alt port

configurare plugin

Interfață pentru mufă de configurare Cache Object Memcached nu este. Toate configurație se face printr-un fișier PHP, cum ar fi wp-config.php:

Prima directivă definește prefixul tuturor cheilor stocate pe server. Este important să se stabilească un prefix unic, în cazul în care serverul acceptă mai mult de un site pe WordPress, în caz contrar acesta poate fi un conflict cheie.

Pentru a dezactiva cache de obiecte în Memcached pur și simplu șterge sau redenumi fișierul obiect-cache.php în directorul-wp conținut. Rețineți că acest lucru nu șterge datele de pe server. Dacă doriți să ștergeți toate datele de pe server, este necesar să se trimită o comandă pentru a reporni sau flush_all.

Plugin Memcached Redux este o alternativă la plug-in Cache Object Memcached. Acesta utilizează clasă Memcached și o extensie pentru PHP memcached (în loc de memcache), care poate fi setat din depozit PECL.







statisticile memcached

Pentru serverul Memcached se poate conecta folosind TELNET de utilitate și să vizualizeze statisticile folosind statistici comanda:

Aceste statistici vă va permite să aflați eficiența cache obiect și consumul de memorie. Cele mai importante valori aici sunt get_hits și get_misses care indică prezența sau absența unui obiect în cache atunci când vi se solicită. În cazul în care get_misses valoare nu cu mult mai puțin decât get_hits. atunci poate ai nevoie pentru a crește memoria alocată serverului Memcached.

Memcached pentru obiecte de cache în WordPress - revista wp

Memcached Server Statistici

Statisticile de utilizare în WordPress cache obiect poate fi vizualizat folosind plugin-ul Debug Bar. dar, dacă preferați o reprezentare grafică a statisticilor Memcached, puteți încerca script memcache.php.

siguranță

Acest lucru înseamnă că Memcached trebuie utilizat numai în rețelele închise și protejate.

Memcached ca nici un utilizator și privilegii, așa că, dacă utilizați un singur server pentru două site-uri diferite, un site poate accesa cu ușurință date de la un alt site, indiferent de prefixele unice.

Batcache și Memcached obiect Cache lucruri ușor diferite. Cache Object Memcached implementează un obiect cache constant folosind serverul Memcached. Batcache este un plugin pentru pagini de stocare în cache. care foloseste obiecte de memorare în cache pentru a stoca date.

Cu alte cuvinte Batcache asociat perfect cu un plug-in Cache Object Memcached, dar este construit în așa fel încât munca poate cu orice alt plug-in pentru cache obiecte din exterior, cum ar fi WordPress Redis backend sau APC Cache Object.

Întotdeauna a vrut să știe ce „mari proiecte vizitate de mare.“ Și întotdeauna a scrie în cuvinte, la fel de mult ca este vorba de numere este neclar. Toate multe și foarte diferite.

Astfel de lucruri ca un cache obiect permanent și ajutor pentru sarcini mici, și pe site-urile cu 2-3m de accesări pe lună fără ca acest lucru nu se mai face. Acest lucru este exact momentul în care este necesar pentru a reflecta asupra trecerii la multi-server arhitectura - cele mai multe servere Web, cu atât mai mult ele pot procesa împreună interogări.

Pe experiența personală, am lucrat recent cu un teanc de 5 servere Web, care sunt tratate

200-300 cereri pe secundă la vârf.

Caching ar trebui să se facă indiferent de prezență, este foarte bine reduce incarcarea serverului și accelerează site-ul. OPcache (modulul PHP) pentru cache compila script-uri, Memcahed pentru cache obiect, utilizarea funcțiilor wp_cache_ * pentru a salva pagini de bucăți în același Memcached și Batcache pentru a cache întreaga pagină - și site-ul de zbor. Dacă este încă pe Nginx și configurat corect - toate de vacanță)

Ur. Am luat VPS în sine. Cu cache, iar adevărul a devenit mai ușor, și cu Batcache incognito site-ul ca un boboc la toate de la deschide serverul local. În ceea ce privește 0,003 secunde.

“... Toată configurația este făcută de către un fișier PHP, cum ar fi wp-config.php»
- nu este suficient pentru a separa datele?

Dacă ambele site-uri vă aparțin, că nici o problemă nu va fi. Puteți utiliza serverul Memcached pentru a sute de site-uri pe un singur server, trebuie doar să vă împărtășesc cheile, de exemplu, prin constantele WP_CACHE_KEY_SALT în config.

În cazul în care site-urile sunt deținute de persoane diferite, atunci oricine poate citi cu ușurință și de a scrie cheile pe un alt site. Acesta este motivul pentru care Memcached nu este oferit pe o gazdă partajată, în cazul în care numărul mare de clienți.

Memcached și APC2.0.6 au numele de fișier și sunt situate în același director. Dacă serverul este instalat și APC, Memcached, și apoi ce să aleg? utilizarea în paralel posibil?

Dacă este un obiect-cache.php, va trebui să selecteze și să utilizeze un plugin. Dacă doriți să cache obiecte WordPress pe serverul Memcached, folosind-obiect cache.php din Memcached Plugin. Dacă APC este APC. Dacă doriți să utilizați APC (sau alt accelerator) pentru bytecode cache PHP langa Memcached pentru obiecte WordPress, obiect-cache.php de la Memcached și cache bytecode, în orice caz, prescrisă în php.ini.

O pereche de „probleme“ la configurarea acolo :)

WP_CACHE_KEY_SALT instala orice? Am pus korobochkin_, de exemplu, prin analogie cu bazele de date.

Pentru mai multe locuri, după cum am înțeles, WP_CACHE_KEY_SALT oricum o dată indicată.

Acum, aici este necesar pentru a studia Debian face copii de siguranță, nu întreaga imagine (întregului sistem) să fuzioneze, și numai ceea ce ai nevoie. Și arhivchik.

Da, puteți specifica orice sare, este necesar ca, în cazul în care un server Memcached aveți două sau mai multe site-ul filare, similar cu $ table_prefix pentru MySQL. mysqldump Backup și încercați gudron. Acesta poate fi programat prin intermediul cron.

Dacă utilizați deja Git sau Subversion pentru cod în același depozit, puteți înregistra și configs. Foarte convenabil, mai ales dacă utilizați mai mult de un server, de exemplu:

/home/wpmag/.config/web/nginx.conf
/home/wpmag/.config/web/php.conf
/home/wpmag/.config/lb/nginx.conf
/home/wpmag/.config/db/mysql.conf

E interesant. Și cum să folosească? Conform listei arată că config-fișierele sunt stocate în wpmag directorul home al utilizatorului. Și face aceleași configurările de server sunt localizate în / etc / (în Debian mine), și există o mulțime de fișiere dintr-o dată astfel încât să înțeleagă ce sunt necesare și care nu sunt dificile.
Plus serverul costă o listă de software care, în cazul unui accident va trebui să livreze - mânere? Sau unele sh-script?
Și am Apache, și fiecare site-ul este condus de www sa-utilizator pentru a se evita conflictele dintre site-uri și de la un site la altul nu a putut strica :) e. De asemenea, utilizatorii trebuie să efectueze împreună.

În multe aplicații, puteți conecta o configurare suplimentară prin directive, cum ar fi calea de includere / a / *. Conf. sau puteți face un link simbolic la DePaul (în cazul în care nu au deja unul) cu /etc/nginx.conf pe /path/to/.config/web/nginx.conf, opțiunile sunt multe.

În ceea ce privește software-ul care este mai mult către managementul de configurații și pachete, cum ar fi Chef, păpuși, SaltStack etc. unele sunt, de asemenea, posibilitatea de a lucra cu utilizatorii. În cele din urmă, puteți scrie întotdeauna o serie de script-uri pe cont propriu, de exemplu, prin intermediul Fabric A, care se bazează pe orice configurare sau JSON matrice va crea polzvoateley.

Și fără efecte secundare nu vor fi de la utilizarea de link-uri? De exemplu, am observat că, dacă fac un plugin pentru WordPress și utilizați link-ul la folderul plugin (de exemplu, a pus un link de la meu Dropbox-folder în directorul site-ului), variabila _ _ FILE _ _ în PHP dă mod în care dosarul Dropbox în loc cel de pe server. Totalul nu funcționează activarea și dezactivarea cârlig. Aici, întâmplător, este, de asemenea, problema modului de a dezvolta teme și plugin-uri pentru a pune la punct de vedere fizic Dropbox, dar, de asemenea, pe site-ul local nu are în mod constant pentru a copia fișierele de mână.

Bună ziua. Pentru memcached nu are nevoie de memcached-php5 (sau PHP5-memcache)?