Si habéis pasado por Menéame durante esta semana, seguro que habéis notado que ha habido muchos errores y que no iba muy fina. Ahora que ya lo tenemos solucionado y averiguado lo que sucedía, queremos contároslo para ser transparentes. Los errores que hemos sufrido han sido debidos a una sobrecarga en la base de datos. Os dejamos con la información de Marcos, nuestro programador:

Detectamos el primer pico de carga el lunes sobre las 14h. que coincidía con la noticia en portada de la muerte de Verónica Forqué, con lo que achacamos esta sobrecarga a un aumento del tráfico. El autobalancedor incrementó el número de instancias disponibles, pero la base de datos se sobrecargó de tal forma que era incapaz de atender las peticiones con lo que surgieron los primeros errores 504.

Tras comprobar que la carga del sistema no se correspondía con un aumento significativo del tráfico, descartando posibles ataques, pasamos el 100% del tráfico hacia las instancias antiguas con lo que nos centramos en revisar las configuraciones de las nuevas instancias puestas en funcionamiento la pasada semana. El sistema se quedó estable mientras realizamos todo tipo de pruebas con las nuevas instancias, pero al día siguiente se vuelve a producir sobrecarga con lo que descartamos también los problemas de configuración en la nueva instancia.

Como no habíamos subido cambios en el código desde hacía varios días, en un primer momento no creímos que fuese problema de código, pero después de revisar las consultas atascadas en la base de datos observamos que se estaba colando una consulta para obtener información de usuario con id de usuario 0 con lo que las búsquedas en la tabla con ese id de usuario se eternizaron. El código de dicha consulta data de 2017 en la versión clásica y de 2019 en la API, pero nunca había fallado hasta ahora, así que achacamos este error a un mal uso bien a través de la API o bien por algún tipo de scrapper que pretendía obtener información de los usuarios a través de la nueva versión de la web.

Hemos corregido el código, hemos mejorado la consulta y hemos implementando un sistema de caché para el tráfico anónimo para descargar la base de datos y mejorar los tiempos de carga que ya está disponible.

Queremos pediros disculpas por las molestias y daros las gracias a todos los que nos íbais actualizando de los errores que íbais detectando. Ya sabéis que Menéame no es nada sin vosotros.