Juan Santamaría

Juan Santamaría

Programador web

1 semana de Betsuites o lo que es lo mismo, servidor no me jodas.

Ya ha pasado una semana desde que lanzamos Betsuites y los datos hablan por si solos ahora mismo segun escribo este post ya hemos pasado los 35.000 usuarios registrados, unos 8.000 usuarios que inician sesión diariamente y más de 15 regalos ya entregados. Nada mal, ¿no?

Pero si para que negarlo, servidor no me jodas. A pesar de ser uno de los proyectos mejor organizados y optimizados que he realizado no todo es de color de rosa y no esperaba una afluencia de usuarios tan grande y con tanta gente.

Han sido días de dormir poco, trabajar por la noche algunos días hasta las 05:00 e incluso algún día trabajar con alguna cerveza de más ( quedará para la historia la frase de Jose aka mi jefe diciendome: Juan que pasa que curras mejor cuando estas borracho, te voy a enviar cervezas de vez en cuando).analytics

Pero bueno al margen de toda esta retaila, os voy a dejar una serie de consejos los cuales debéis de tener en cuenta si vais a programar proyectos de tales dimensiones.

Cachea lo que puedas

Siempre habrá secciones de tu plataforma o web que puedas cachear porque no hace falta que estén actualizadas al segundo o por cada petición que lanze un usuario. Haz que estas secciones se guarden en un archivo html y sirveselo directamente al usuario así ahorraras unas cuentas consultas a tu base de datos que aliviaran tu servidor.

Revisa tus consultas SQL

Seguro que esa consulta SQL que te parecía la ostia al principio y era la niña de tus ojos se puede mejorar y optimizar para que sea más rápida y no sea tan pesada.

No abuses de las subquery’s y los inner joins

Son muy bonitos y te devuelven toda la información que quieres en una única consulta pero cuidado que también te pueden crear un cuello de botella y disparar el consumo de recursos de tu servidor.  No es lo mismo que la ejecuten 10 personas que 1000 y eso se nota muchísimo.

Fija un tiempo de expiracion a tus imágenes

Si haces un alto uso de imágenes como pueden ser los avatares de Betsuites, que no se te olviden meter esas preciosas lineas en el htaccess indicando que se guarden en la cache del navegador del usuario y que no se las tengas que servir siempre que las pides.

Estos son unos pequeños consejos básicos pero una cosa esta clara, aun queda mucho trabajo por delante y también mucho aprendizaje de cara a optimización en aplicaciones grandes y de programación en general. Por último os dejo con una frase de Edward Benjamin Britten que viene al pelo respecto al aprendizaje diario:

Aprender es como remar contra corriente: en cuanto se deja, se retrocede.

 

2 Comments

  1. Miquel Camps Orteza

    la hostia juan la que estáis montando!

    100% de acuerdo con la cache y todos los puntos, para aportar algo más al post:

    – instala nginx.

    – pon los estáticos fuera por ejemplo amazon s3.

    – mueve la base de datos en otro servidor.

    – instala htop para ver que es lo que se lleva toda la ram.

    – configura la memoria swap para evita que se caiga el server si se queda sin ram.

    Reply

COMPARTE TU OPINIÓN

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies