articulo | Cualquiera

La tormenta del hosting y toques venideros al site

Por pululon | 10:07
Toda una odisea.

Estos últimos días habrán podido comprobar que el sitio fue un verdadero infierno en cuanto a navegación, y personalmente debo decir que el calvario que tuve que pasar fue significativo, y aquí estoy para compartir que sucedió y que vamos a hacer al respecto teniendo en cuenta el nuevo panorama que se me abrió por delante.
Primero que nada, hasta el jueves pasado solía saltar el error 404, un clásico que se daba porque el servidor se quedaba sin memoria ram y por ende tiraba el sitio al carajo. 
Porque sucedía esto? Pues la cosa es que el servicio que contrate para subir el sitio es un shared host, para los que no sepan de que se trata, es cuando meten tu cuenta en una pc donde hay muchas cuentas más y todos comparten el mismo hardware para con todos sus sitios. Si bien la bandwidth y el espacio de almacenamiento eran ilimitados, la memoria ram no lo era, dado que la compartía con el resto de los usuarios de la maquina donde estaba alojada mi cuenta. Los shared host cuando detectan un uso excesivo de ram te matan los procesos y no devuelven las consultas php y por ende arroja un error en el sitio. Este exceso de ram se da por la cantidad de procesos, en este caso php y jquery, que corren al mismo tiempo. El sitio a medida que fue ganando visitante obviamente se iba a encontrar con este drama, pero nunca espere a que fuera tan heavy.
Todo esto me llevo al jueves pasado, donde vi la oportunidad de testear por una semana un VPS, que es un servidor privado virtual, donde uno podía tener un monto de ram exclusivo y manejarse con eso dependiendo de la demanda del sitio. Según lo que leí del hosting iba a poder testearlo durante siete días y si no lo quería le daba la baja, ciertamente no pusieron completamente como era el servicio en su pagina de promoción, y entre como el mejor.
Habilite el VPS y cambiaron mi usuario a otra PC donde alojaban VPSs, y le puse el máximo de ram para ver que onda. El resultado fue desastroso.
Comencé a tener errores por parte del servidor, el famoso error 504 Gateway Timeout que muchos deben de haber visto (para mi era constante). A esta altura cabe señalar que mis conocimientos de desarrollo web se limitan a html, css, php, jquery, pudiendo construir aplicaciones web, pero siendo un cero a la izquierda en materia de servidor. Así que comencé a bombardear al servicio técnico con mis quejas y problemas al tiempo que buscaba una solución. El servicio técnico fue un asco, una y otra vez la respuesta era que mi configuración andaba mal, pero yo les decía que antes del VPS todo estaba joya, o sea, tenia los picos de ram, pero ahora el VPS me decía que estaba consumiendo 3k de ram todo el tiempo y el sitio me arrojaba constantemente el error del Gateway Timeout. Al principio comencé a hacerles caso, porque cuando uno no sabe tiene que escuchar a los que supuestamente saben, y seguí sus concejos, deshabilite el captcha y corrí un fuerte proceso de cache, bueno, en realidad ya lo venia testeando, pero me dio oportunidad para pulirlo.
La configuración de cache que arme funciono joya, dado que cuando el sitio no estaba muriendo funcionaba bastante rápido. El captcha por otro lado me trajo una banda de bots, pero comencé a pasar un proceso de antispan que aun sigo puliendo, dado que el captcha no va a volver porque me judería la configuración de cache que estoy manejando.
A todo esto, ya sábado, el sitio seguía para atrás y se termina cayendo durante todo el día.
Esto fue el resultado de la muerte de la pc donde estaba alojada la base de datos del servidor. Al domingo la base de datos estaba recuperada a fecha del jueves, dejando mas que obvio que el mal funcionamiento de la maquina era lo que estaba enloqueciendo al sitio, y no mi configuración o mis programas php que a esta altura estaban afiladísimos para consumir nada de ram, cosa que aun no veía en los gráficos, dado que seguía teniendo picos de 3k continuamente, pero mágicamente el sitio no se caía por exceso de ram sino porque el servidor no devolvía las consultas por problemas propios.
Ayer, ya con el cerebro quemado quise de darle de baja al  VPS antes de llegar al final de la semana de prueba, y lo alegre de todo fue que tenía que poner mi VPS al mínimo del consumo de ram y recién solicitar el cambio. Bueno, fui a la configuración, y baje al mínimo, le di clic a guardar los cambios y me reboto diciendo que como consumía un montón no me podían bajar al mínimo… me estaban jodiendo, iba a tener que pagar 200 dólares por un servicio que apestaba.
En medio de la desesperación y la furia se me prendió una luz y fui a la opción de reseteo del VPS, el cual tardaba 30 segundos, lo justo y necesario para ir a la configuración de ram y bajarla al mínimo, total en ese momento cuando reseteaba, el sitio estaba caído y no había consumo. Dicho y hecho, la ram bajo al mínimo, así que pedí la baja al VPS y volver al shared host. Y acá fue donde vino la letra pequeña que no pusieron a la hora de promocionar la semana gratis de VPS.
Tenia que registrar consumo mínimo de ram durante al menos cinco días seguidos para volverme al shared host, obviamente con los picos de ram que había tenido no me iban a volver a meter entre los que consumen poca ram, así que me clave con el VPS, pero al menos estaba al mínimo.
Ya frustrado y derrotado, intente entrar al sitio y volví a ver el error 504, el condenado Gateway Timeout, no tan bestial como el jueves, viernes o lunes, pero ahí estaba, fastidiándome la vida.
Tristemente fui a reportar nuevamente el error después de echarle la culpa a cada dios que conocía. Y aquí surgió la magia.
Uno de los muchachos K (extrañamente todos del servicio técnico del hosting se apellidan K, o sea, Terry K, Jenny K, Billy K, no se si es una joda o que se yo, pero es entre divertido y frustrante) me comento que había visto que el sitio andaba algo lento y que la base de datos no estaba en el mismo datacenter que el webserver VPS, así que movió la base de datos a un server mysql mas apropiado, y durante todo el día no tuve ningún drama y todas las configuraciones de cache que me mate haciendo los últimos días dieron sus frutos y corrió todo fluidamente, al tiempo que el consumo de ram por parte del VPS ni siquiera llego al topo del mínimo, mientras que Google Analytics me arrojo un numero de usuarios promedio normal.
O sea, al final del día, la pc donde estaba alojada la base de datos murió cuando pase a VPS, cuando la subieron la maquina estaba para atrás, y eso siguió tirando errores, y lo que era obvio y venia reclamando desde el jueves fue lo que hizo que todo anduviera joya, el sacar la base de datos de la condenada pc donde estaba.
Aun así, no le pude dar de baja al VPS, pero ahora registra consumo de ram mínimo gracias a mi magia con el cache, así que todo este sufrimiento tuvo su lado positivo, por otro lado dejo a la luz otro problema que tiene relación con el contenido del sitio y un inminente cambio que debo hacer en pos del buen funcionamiento del mismo.
El consumo de ram se da cuando varias personas ven el sitio al mismo tiempo, haciendo que los procesos se acumulen y consuman mas memoria, si uno ve el sitio y a los dos segundos lo ve otro, no hay drama porque la ram se libera al toque, pero a mayor trafico, mas gente ve el sitio al mismo tiempo y esto hace que la ram llegue a picos insospechados y arroje errores.
El cachear todo ayuda muchísimo porque los procesos php no tienen que repetirse una vez que se cachea una pagina, y esto lo hace después de cualquier cambio, o sea, un post mio o un comentario.
Pero hay otra cosa que hace que la ram estalle y es justamente una de las que me alegraba mas tener en el sitio. Las galerías. Las galerías tienen hosteadas las imágenes en mi servidor, por lo que cuando uno ve una imagen el proceso de carga se aloja en la ram. Como explique antes, si dos ven una imagen al mismo tiempo, más ram, y si a esto le agregamos flashget o mass downloader, tenemos muchas imágenes viéndose al mismo tiempo, cosa que pueden hacer varios usuarios al mismo tiempo, que no solo consume bandwidth (que no es ningún drama), sino que saturan la ram y el sitio fallece.
Ahora como esta todo fuertemente configurado con el cache puedo pelear contra esto, pero bueno, en el sitio tenemos casi 500 galerías entre cosplay y artistas y eso es una importante suma de ram para el sitio si los usuarios aumentan y todos descargan las imágenes. Y las galerías no van a dejar de aumentar, dado que es una de las cosas que mas me agrada compartir (en un principio esto iba a ser de galerías de cosplay, idols e ilustración XD) así que la ram va a llegar a morir de nuevo y la única forma de luchar contra esto seria tener un server dedicado, cosa que me es imposible hoy por hoy.
A que solución puedo recurrir? Pues ahora mismo solo veo una salida y es usar un hosting alterno para las galerías y no subir 500 imágenes al servidor y mostrarlas en el sitio. Hace unos meses mi primera elección habría sido megaupload, dado que tenia cuenta ahí y no eran de borrarte las cosas como en otros hosting, pero el FBI me jodio la existencia y mega murió. De las otras opciones que tengo a mano la primera que salta es mediafire, podes descargar varios a la vez y va rápido… pero mediafire tiene el mismo drama que hotfile y rapidshare, otras de mis opciones en primer lugar, te borran todo al toque, y no estoy de humor como para subir 30gb y que a la semana estén caídos y la cuenta banneada. Otra opción que me salto es 4shared, pero el hecho de que los usuarios se tengan que registrar para bajar desalienta a más de uno (por más loco que parezca). Así que el día de hoy comencé a buscar otras alternativas, por un momento llegue a pensar en alguno de los hosting que te dan dinero por el numero de descargas que tenes, y de esa forma pagar el servicio, pero vamos, es algo que nunca me agrado hacer por mas tentador que sea, y seria la ultima de las ultimas opciones a tener en cuenta. Pero buscando entre los hostings que más uso llegue a bitshare que me daba un interesante plan de usuario registrado gratis, 500gb de almacenamiento y conexión ftp, dos cosas que me compraron directamente. Eso si, bitshare no es el mejor para el downloader, dado que tiene un limite de descarga por día, pero bueno, tampoco es que vaya a subir tres archivos de 1gb por día como para amedrentar a cualquier downloader. No tiene la mejor velocidad tampoco, hoy por hoy nada compite contra mediafire en ese aspecto, pero he visto archivos en bitshare que están desde hace rato y una buena combinación de .rar y nombres esquivos puede hacerlos durar mucho mas.
Así que esa seria mi solución hoy por hoy a un mas que posible drama con la memoria del servidor a futuro. Subir unas 10 imágenes de prueba y colgar un link con el archivo .rar en bitshare; si el día de mañana mis ingresos aumentan podría comprar la cuenta Premium de bitshare y tener mas beneficios como uploader, y de paso no entro en el juego del dinero por descarga, dado que bitshare no tiene una opción de esta índole.
Pero bueno, lo comparto acá para ver si alguno sabe de algún otro hosting que pueda usar y que sea viable a largo plazo en calidad de uploader, y rentable para mi apenado bolsillo, porque al día de hoy, dejar las galerías en el servidor no es una opción y de conseguir un hosting (sea bitshare o el que sea) seria después del 25 del corriente mes, que es cuando estaría implementando ese método y subiría allí las galerías y pasaría las galerías que ya subí al hosting también, eliminándolas y dejando solo unas imágenes de ejemplo para aminorar el castigo de ram al servidor y por consiguiente mejorar el funcionamiento del sitio.
Sin mas, eso es todo, escribí una banda y esperemos que esto vaya para mejor después del calvario que viví en los últimos días… y por cierto, la imagen completa es lo que se ve y a ese tamaño XD.

17
de July 2012

Commento!