Se apropie Black Friday 2014, eMag a anuntat deja ca anul asta va fi pe 21 noiembrie.
Daca esti publisher online sau blogger si vrei sa faci bani din afiliere de Black Friday trebuie sa te asiguri ca site-ul tau va putea sustine cu brio varful de trafic din ziua respectiva.
Textul de mai jos este in mare parte ceea ce am prezentat la Lumea SEO PPC joia trecuta.
Cum putem sustine traficul de Black Friday?
- optimizarea aplicatiei
- optimizarea serverului
- implementare cdn
- load balancing
Optimizarea aplicatiei
O sa ma refer in special la WordPress acum (ca asta e specializarea mea) insa orice aplicatie poate fi optimizata. O aplicatie reprezinta un ecosistem, ecosistem format din anumite elemente si modul in care interactioneaza aceste elemente unele cu altele (tema, pluginuri, cod php, baza de date, etc).
Optimizarea asta nu se refera la SEO, la imbunatatirea clasarii in motoarele de cautare, ci la imbunatatirea performantei aplicatiei, la cresterea vitezei de incarcare a site-ului si la obtinerea unei scalabilitati ridicate.
Obiectivele acestei optimizari sunt:
- identificarea si eliminarea elementelor inutile
- identificarea consumatorilor de resurse in exces
- reducerea numarului de requesturi http
Rezultatele sunt obtinerea unei viteze mai mari de incarcare a site-ului si un consum mai mic de resurse ale serverului ceea ce duce la posibilitate de a sustine mai mult trafic.
Audit performanta tema
Exista foarte multe teme WordPress si greseala pe care o fac multi proprietari de site-uri este sa isi aleaga tema dupa frumusete. Creatorii de teme stiu asta si se concentreaza foarte mult pe aspect si optiuni usor de configurat si mai putin pe partea de performanta.
Am intalnit cazuri in care o tema WordPress facea aproape 800 de interogari in baza de date si consuma in jur de 100 MB memorie RAM la fiecare afisare de pagina. La un varf mic de trafic, chiar si putin peste 1000 afisari zilnice, site-ul consuma toate resursele alocate contului de hosting. Si proprietarul pierdea bani.
Audit performanta pluginuri
Am intalnit si aici cazuri in care un plugin consuma aproape 200MB RAM la fiecare afisare de pagina. Site-ul respectiv avea in jur de 7-8000 afisari zilnice deci nu a fost de mirare ca firma de hosting unde era il punea sa faca upgrade la VPS-uri cu mai mult RAM. Odata rezolvata problema cu pluginul, site-ul sta linistit pe un hosting shared, n-are nevoie de VPS.
Optimizare imagini
Aceasta optimizare are ca efect reducerea marimii in KB a imaginilor fara a afecta calitatea.
De multe ori am intalnit, in special in cazul ziarelor sau a revistelor online, cazuri in care editorii incarca poze la dimensiuni foarte mari, unele direct din aparatul foto la 4-5 MB. 10 poze asa mari pe o pagina inseamna un timp de incarcare mare si consum de resurse. Daca hostul nu iti ofera trafic necontorizat poti sa-ti depasesti usor limita de banda si sa le apara vizitatorilor o pagina de eroare cu „bandwidth limit exceeded”. Si pierzi trafic si bani.
Pozele ar trebui incarcate pe site exact la dimensiunea la care ar trebui sa fie afisate si aceste poze sa fie optimizate pentru web.
Optimizarea pentru web se poate face manual din Photoshop (Save for web, calitate 60-80%, proggressive) sau cu ajutorul unor unelte cum ar fi jpegmini.com, un serviciu online unde se incarca imagini, serverul lor le optimizeaza dupa care le descarcati optimizate. Pentru VPS-uri exista scripturi ce se pot instala pe server si care lucreaza impreuna cu un plugin WordPress ca sa optimizeze imaginile automat la incarcarea pe site.
Un alt lucru care se poate face este setarea ca imaginile sa fie servite de pe un subdomeniu de genul img.domeniu.ro.
Al treilea pas este implementarea unui sistem de incarcare graduala a imaginilor, pe masura ce vizitatorii fac scroll. Acest lucru se numeste Lazy Load.
Implementare cache
Implementarea unui plugin care sa faca page cache este cel mai simplu si cel mai de impact lucru care se poate face pentru a imbunatati viteza si scalabilitatea unui site.
Pluginul generează fisiere HTML statice pentru fiecare pagina accesata de un vizitator iar după ce este generat un fisier html serverul web va servi acest fisier static in loc sa consume resurse procesand tot scriptul PHP WordPress.
Optimizare server
Majoritatea solutiilor de hosting folosesc Apache ca si webserver.
Apache nu e cel mai popular pentru ca e cel mai bun ci pentru ca e cel mai vechi, e gratuit (open-source) si se instaleaza default cu cPanel.
Problema Apache apare la trafic mare, consuma din ce in ce mai multe resurse si poate ajunge sa blocheze tot serverul.
O solutie este migrarea catre un furnizor de hosting care foloseste Litespeed.
LiteSpeed
Litespeed este probabil cel mai bun webserver generalist. E 100% compatibil cu toate aplicatiile, poate sa inlocuiasca Apache fara nicio problema.
Litespeed e cu 50% mai rapid decat Apache la procesarea scripturilor PHP si serveste cu pana la 600% mai rapid elementele statice.
Spre deosebire de Apache, Litespeed nu e un webserver process-based ci event-driven, o metoda mai eficienta de a gestiona conexiunile si asta inseamna ca poate sustine trafic mai mare cu resurse mai putine.
Singura problema este ca nu e open-source, este un webserver comercial, cu licenta, si solutiile de hosting cu Litespeed costa putin mai mult.
Nginx + PHP-FPM
Nginx poate fi folosit si ca un webserver de sine statator, nu doar ca reverse proxy in fata Apache.
Setup-uri cu Nginx sunt folosite de site-uri cu trafic foarte mare: Facebook, Instagram, Netflix, WordPress.com, Zappos, Intel.com. CNN.com.
Chiar si un VPS cu resurse destul de mici, 512 MB RAM, 1 core CPU, intr-o configuratie cu Nginx/PHP-FPM, o aplicatie optimizata si un caching pe toate planurile (si in aplicatie si pe server) poate sustine varfuri de trafic de 50 – 60.000 afisari zilnice si chiar mai mult. Recordul meu personal e undeva la 100.000 de unici si in jur de 300.000 afisari zilnice.
Problema Nginx este ca nu e compatibil cu .htaccess si ca nu prea exista panouri de control compatibile cu el ceea ce inseamna ca vor exista costuri mai mari cu specialistii care sa gestioneze serverul.
Server MySQL
Majoritatea firmelor de hosting folosesc MySQL, care nu e rau, insa exista si alte 2 servere de baze de date: MariaDB si Percona.
Amandoua sunt 100% compatibile cu MySQL deci pot inlocui MySQL fara probleme si amandoua ofera un uptime mai bun, scalabilitate, performanta si fiabilitate superioare serverului clasic de baze de date MySQL, in special pe VPS-uri sau servere dedicate.
Implementare cache
Pentru cei care au un VPS sau un server dedicat se poate implementa un cache direct pe server – ZendOPCache, Memcached, Varnish.
Si Nginx are un cache propriu, fastcgi_cache care poate inlocui cu succes folosirea unui plugin WordPress de cache.
Panou de control
Tot pentru cine are un VPS sau server dedicat, un pas in plus pentru optimizarea serverului poate fi si renuntarea la panoul de control. Multa lume s-a obisnuit cu cPanel, care este foarte bun pentru un hosting shared, dar consuma destule resurse si preia controlul asupra serverului, limitand posibilitatile de optimizare si personalizare.
Pentru web hosting avem nevoie doar de 2 lucruri esentiale: acces la fisiere (prin FTP sau sFTP) si acces la baza de date (prin phpmyadmin), in rest functionalitatile din cPanel sunt in plus deci se poate renunta la panou.
Impartirea serviciilor
Pentru majoritatea utilizatorilor serviciul de hosting pare a fi un tot unitar insa de fapt serviciile de hosting se impart in 3 mari categorii:
- web hosting
- dns hosting
- email hosting
Pentru a asigura o performanta si o scalabilitate ridicata, precum si o disponibilitate a serviciilor care sa se apropie de 100% aceste 3 servicii pot fi separate si de fiecare sa se ocupe o firma specializata.
De exemplu, partea de web hosting poate fi un VPS cu un stack personalizat, axat pe performanta, cu Nginx + PHP-FPM, fara panou de control, fara server de mail, fara server dns, fara niciun proces in plus care sa ruleze pe server in afara de procesele necesare pentru web hosting + evident procesele de securitate.
Partea de DNS hosting poate fi externalizata catre Amazon Web Services sau catre Cloudflare iar partea de email hosting poate fi sustinuta de un provider specializat pe email hosting sau de un serviciu cum ar fi Google Apps, Zohomail.
In felul asta, toate serviciile sunt separate si se obtine performanta si un uptime mai bun.
Implementare CDN
In cazul implementarii unui CDN elementele statice ale site-ului vor fi servite de pe un alt server, iar serverul pe care e gazduit site-ul se va ocupa doar de procesarea scripturilor php.
Este o solutie buna pentru ca se poate activa doar la nevoie, pastrand astfel costurile scazute.
Printre cele mai populare CDN-uri sunt : maxCDN, CDN77, Cloudflare. Exista si posibilitatea sa iti construiesti propriul CDN pe un VPS. O sa scriu un tutorial, daca reusesc sa am timp, pe blogul Simplenet, despre cum sa-ti construiesti un CDN pentru WordPress pe un droplet de 5$ de la Digital Ocean.
Load Balancing
Aceasta este solutia suprema atunci cand este nevoie de scalabilitate si disponibilitate ridicata. Nu o sa vorbesc prea mult despre asta pentru ca e o solutie tehnica destul de complexa si costurile sunt destul de mari. In esenta, se poate face si pe 3 dropleturi de 5$ de la Digital Ocean dar costurile mari sunt legate de design si implementare.
In esenta, se folosesc mai multe masini virtuale (VPS-uri) si prin utilizarea unor tehnologii de tip load-balancing se distribuie traficul catre aceste servere virtuale, oferind astfel o incarcare egala a tuturor sistemelor. Se pot adauga oricand masini virtuale, in functie de nevoi.
Concluzii
- Alegeti un furnizor de hosting care sa foloseasca Litespeed, diskuri SSD, eventual cloud.
- Fiti disciplinati in administrarea site-ului (atentie la tema, pluginuri, pozele pe care le incarcati).
- Oamenii sunt mai importanti decat specificatiile tehnice.
BONUS:
Pentru cine vrea sa ne pregatim impreuna de Black Friday 2014 am un cod de discount – BFREADY14 – 50% pentru primul an la orice pachet de hosting Simplenet:
- stack premium – Cloudlinux, Litespeed, Percona, SSD, cloud
- optimizare WordPress inclusa
- solutii personalizate (VPS cu Nginx, CDN, etc)
Succes la facut bani de Black Friday 2014!
Lasă un răspuns