Gandi.net: El nostre nou proveïdor d’VPS

Tot i que la majoria de clients ens contacten per a desenvolupar apps per a mòbils, els productes propis que desenvolupem també necessiten que desenvolupem aplicacions per a servidor. I d’aquest tema és del que ens agradaria parlar en aquest post.

Fewlaps va néixer el 2012 com a conseqüència de que vèiem que les nostres apps tenien sentit, s’utilitzaven. Però molt abans de que nasqués Fewlaps, ja desenvolupàvem aplicacions J2EE que corrien sobre servidors d’aplicacions. Aquest post l’escrivim per a ajudar als que es troben en la mateixa situació que nosaltres ara fa 4 anys, i que no cometin els mateixos errors que vàrem cometre.

[separator headline=”h2″ title=”La nostra història”]

Fa 4 anys, vàrem contractar un servidor petit a GoDaddy. En aquells temps, els preus d’VPS encara no havien baixat molt, i aconseguir un servidor de transferència de dades il·limitada i 1GB de RAM per menys de 20€ mensuals, era un èxit. Varem fer proves de concurrència, i eren prou bones. Bé, tot correcte per al 2010 i per no tenir cap app d’èxit… encara.

Dos anys més tard, la concurrència va començar a ser un problema. Veiem que el servei de la base de dades MySQL ocupava gran part del temps de procés. Les queries simples prenien massa temps. Així que vàrem decidir muntar un sistema de cache a la nostra aplicació servidora, i que les peticions que no eren gaire transcendents no fossin en online, sino quan el recurs estigués disponible. Fet això, el temps de resposta va tornar a millorar moltíssim, i vàrem estar contents.

[separator headline=”h2″ title=”El problema”]

Conforme el temps passava, cada vegada teníem més concurrència. Un dia, vàrem decidir passar al plà de 2GB… i al cap d’uns mesos, al de 3GB de RAM… Però això ens va fer aixecar la mosca. El temps passava, i cada vegada el servei de MySQL ens prenia més temps. Investigant, vàrem veure que el problema es reduïa a que el temps d’accès del disc als VPS de Godaddy és pèssim. I les BBDD tenen aquesta mania d’escriure en disc…!

[separator headline=”h2″ title=”La solució”]

El nostre moviment va ser buscar una altra màquina on tan sols hi col·locariem el MySQL. Després de molt estudiar possibilitats, tant servidors virtuals com dedicats, vam arribar a Gandi.net. Com que l’escalabilitat que ofereix Gandi.net és total, vam decidir començar amb un dels servidors més petits que es poden contractar: tan sols un core i 512MB de RAM. Si necessitàvem més cores o més RAM, li donariem al botonet, i apa.

Doncs bé, tot i que el servidor de Gandi és molt més petit que el de GoDaddy, la nova arquitectura vola. L’accés a disc de Gandi.net és incomparable al de GoDaddy, i el MySQL ho nota.

Per a que veieu la magnitud de la tragèdia, us ensenyem uns gràfics on podreu veure el Load Average del servidor de GoDaddy quan era el responsable de MySQL, i quan no ho era.

 

Gener del 2014: Load Average de 0.96 – GoDaddy és el responsable de MySQL

Cacti Fewlaps Gener 2014

Abril del 2014: Load Average de 0.13 – GoDaddy ja no és el responsable de MySQL

Cacti Fewlaps Abril 2014

 

 Abans | Després

[separator headline=”h2″ title=”Conclusió”]

Doncs bé, a falta de demanar una subvenció a Gandi.net per la promoció que els hi estem fent, us recomanem que si heu d’escollir un VPS, estudieu els de Gandi. A més a més, es poden canviar els recursos en calent, o programar que per les nits es baixi la RAM uns quants MB… bé, parem ja. En resum: Nosaltres els hi hem donat un vot de confiança i ens ha sortit molt bé.

Per cert, que ens hem deixat una dada: El Load Average de la màquina de Gandi.net amb el MySQL és de 0.08 als 15 minuts.

Esperem que aquest post us sigui útil!