Com disminuir el consum de recursos del servidor

 In Tutorial, Wordpress

Com disminuir el consum de recursos del servidor de la teva instal·lació de WordPress? Aquest és un problema massa habitual en instal·lacions de WordPress amb un nivell de tràfic elevat, on la temuda sobrecàrrega de consum de recursos del servidor arriba fins al punt que el teu proveïdor d’allotjament es veu en “la obligació” de limitar les connexions per disminuir el consum de recursos del servidor per no afectar a altres webs allotjades en el mateix servidor. Per intentar no arribar en aquest punt crític, és important pendre unes mesures en el moment de crear i configurar la teva instal·lació de WordPress.

WordPress és sabut per tothom mínimament interessat en aquest món que és una plataforma molt potent, que pot crèixer fins a on es vulgui, però precisament per això, no tohom és conscient que no s’està de res a l’hora de demanar-li xixa al teu servidor, sobretot si s’utilitzen molt plugins (alguns segurament prescindibles) o una plantilla molt visual, que tiri molt per exemple d’efectes visuals.

Així doncs, recull de tècniques i consells nascuts amb l’esperança d’ajudar a altres desenvolupadors-dissenyadors a evitar aquesta problemàtica.

Escollir una plantilla (theme) adequada a les nostres necessitats.

Pam, sembla fàcil oi? doncs no ho és tant, si utilitzes un marketplace tipus Themeforest s’ha d’anar en compte en no deixar-se emportar i enlluernar pels temes més atractius visualment parlant, sobretot cal pensar en que el tipus de contingut que col·locaràs encaixi perfectament, de res et servirà un theme amb grans i espectaculars fotos si no en dispondràs a l’hora de la veritat, o potents efectes visuals per una web d’informació pura i dura on s’hagi de premiar l’accés a la mateixa i la usabilitat per davant d’altres punts. Això també és aplicable per si vols incrementar la velocitat del WordPress (tema per un altre dia…)

Important consultar la documentació del theme, si està ben treballat, (independent que el theme sigui més simple o més complex) disposaràs una amplia documentació per fer-te una idea sobretot del black-end (gestor) i dels pluguins que necessita pel seu correcte funcionament.

Consell: Evitar themes que col·loquin contingut per ells mateixos sense fer servir cap plugin, (per exemple pàgines noves tipus portfolio, productes, etc…) recordar que la gràcia del WordPress és separar el contingut del disseny, i que si al cap de dos anys el theme queda desactualitzat, antic, o simplement li agafes mania, al canviar de Theme no perdis el contingut generat amb l’anterior.

Escalar correctament el servidor.

Un altre punt que sembla evident, ok d’acord, però no s’ha d’oblidar!, ja pots tenir el WordPress més eficient del món que si tens un milió de pàgines vistes al mes aguantat per un servidor molt petit, petarà sí o sí. Recomanació? utilitzar un servei escalable com per exemple Cdmon on puguis anar creixent o decreixent segons les teves necessitats -hi han moltes webs que son temporals, que tenen molt més tràfic durant uns dies a l’any- per tant si tens un servidor escalable pots augmentar recursos durant uns dies, setmanes o el que calgui i després tornar a baixar (amb la corresponent disminució de cost que significa).

Minimitzar l’utilització dels plugins.

Un error típic quan comences amb el WordPress és començar a instal·lar plugins com si no hi hagués un demà, fet que repercutirà en tres grans temes:

  • Seguretat: típica via d’entrada de malparidos pirates que volen col·locar-te malware, al trobar plugins desactualitzats o amb forats de seguretat (no tothom se’ls treballa igual de bé)
  • Velocitat: pot condicionar força la velocitat de càrrega de la web.
  • Recursos: el mateix, evitar pluguins que realitzin moltes peticions al servidor.

Consell: Un plugin que pots activar quan el necessitis (i desactivar-lo després) és el P3 (Plugin Performance Profiler) on podràs analitzar quan et consumeix cadascun, quanta memòria estàs fent servir del servidor i quin % de culpa té cada plugin en el temps de càrrega de la web.

Crear l’arxiu robots.txt.

Per evitar que els robots de Mr Google (o Yahoo, Bing…) vagin escanejant fil per randa tots els arxius de la teva instal·lació de WordPress -amb l’objectiu de col·locar la informació extreta als buscadors- cal col·locar en el directori de la web l’arxiu robots.txt per limitar aquests accesos i reduir el consum. Amb un arxiu robots.txt ben configurat, aquests robots accediran a la informació relevant de la teva web amb més rapidesa, millorant així tant el posicionament, la usabilitat i el tema del que estem parlant, la càrrega del servidor.

Avantatges de tenir un robots.txt ben configurat:

  • Alliberar el servidor control·lant el temps d’accés al mateix.
  • Millor indexació en els buscadors.
  • Limitar l’accés a robots que no pertanyen a buscadors i que podrien rastrejar informació privada.

Com crear l’arxiu robots.txt per un WordPress?

Fàcil, exemple de robots.txt per un WordPress, on el ‘Crawl-Delay’ indica el temps d’accés entre cada robot i on col·locariem a ‘Dissallow’ tot el contingut que no volem indexar:

User-agent: *
 Crawl-Delay: 60
 Disallow: /wp-content/
 Disallow: /wp-icludes/
 Disallow: /trackback/
 Disallow: /wp-admin/
 Disallow: /archives/
 Disallow: /category/
 Disallow: /tag/*
 Disallow: /tag/
 Disallow: /wp-*
 Disallow: /login/
 Disallow: /*.js$
 Disallow: /*.inc$
 Disallow: /*.css$
 Disallow: /*.php$
 User-agent: All
 Allow:/
 User-agent: Googlebot-Image
 Disallow: /
 User-agent: ia_archiver
 Disallow: /
 User-agent: duggmirror
 Disallow: /

Control·lar els heartbeats (pulsacions).

Finalment, un gran desconegut, l’amic admin-ajax.php que s’encarrega de que el WordPress li tregui suc a l’Ajax però que al mateix temps consumeix molts recursos de memòria RAM i de CPU del servidor.

Funcionalitats del admin-ajax.php:

  • Control de la posició dels widgets que has col·locat al back-end (gestor).
  • L’autoguardat de les entrades i pàgines un cop estàs editant les mateixes.
  • Donar suport a moltíssims plugins, com el omnipresent Woocomerce.

Per defecte, WordPress realitza una petició (pols) cada 15 segons de 98 bytes (mentre estàs editant una entrada/pàgina) a l’arxiu admin-ajax.php, per “comprovar” que hi hagi algú a l’altre cantó, que el teu WordPress estigui actiu/treballant. Si això ho multipliques pels usuaris actius del back-end, més els plugins que utilitzen aquest arxiu i li afegeixes un volum de visites elevat, ja tenim una combinació perfecte per fer patir al servidor.

Per evitar aquest consum, un sistema fàcil és la utilització del plugin Hearbeat Control amb el que podem desactivar completament aquest tema (no recomanable per no perdre funcionalitats) o augmentar la freqüència de peticions (pulsacions) fins a 60 segons. També et deixa personalitzar en quin cas permets l’execució:

  • Funcionalitat per defecte
  • Desactivar-ho.
  • Desactivar-ho només al dashboard.
  • Executar-ho només a l’editor del back-end.

Ja ho tenim això.

Amb aquestes mesures espero disminuir el consum de recursos del servidor de la vostra web, i no calgui així, la migració a un servidor superior al que tens contractat.

 

Imatge Server Room. Sota llicència Creative Commons.

David Tortosa
Dissenyador Multimèdia. Romàntic del paper (director d'art de publicacions) i apassionat del digital (Wordpress com a cavall de batalla)
Recent Posts
Hola!

Aquí estem per qualsevol cosa que necessitis, escriu-nos i donarem senyals de vida en un pim pam.

Start typing and press Enter to search