El efecto Barrapunto en mi servidor web

Qué es eso

Barrapunto es un gran foro sobre informática y software libre, versión española de Slashdot. En 2004 (cuando escribí esto) era muy popular. Cada día se publican noticias, y los editores seleccionan las que ellos quieren para pasarlas a portada (unas 10 diarias). Se supone que así consiguen dar "La información que te interesa".

El caso es que cuando publican algo en portada que hace referencia a un sitio de Internet, todos los lectores empiezan a visitarlo, y son tantos que pueden saturar el servidor donde se aloja la página. Este fenómeno no es tan importante como el 'efecto Slashdot', en el que los visitantes son muchísimos más (de todo el mundo). Explicación más detallada sobre el efecto Barrapunto .

Los hechos (de la primera vez)

21-2-2004   Mi página web, www.danielclemente.com, pasa a estar alojada en mi servidor.
  Escribo este documento explicando los problemas que he tenido.
24 Feb.   Mando este artículo a Libertonia; entra bastante gente.
   Lo envío también a Barrapunto, pero lo rechazan sin dar motivos.
2 Marzo    Publico el mismo artículo en mi bitácora de Barrapunto. Me dejan unos cuantos comentarios muy útiles y me ayudan a detectar errores en mi trabajo.
3 Marzo
   18:44
   Un editor, fernand0, ve el artículo en mi bitácora y lo pasa a portada. (Gracias).
   Aquí empieza la avalancha de visitas.
   21:00
   Llego a mi casa y me avisan de que no va Internet (un ADSL 256/128 Kbits). Veo las lucecitas del router parpadeando a toda prisa.
días 3 y 4
   De Barrapunto va pasando a otros medios de difusión. Lo veo en Telépolis, Nautopía, en algún blog, en listas de correo, ... Me añaden bastantes personas en Jabber y me explican con cuánta gente han compartido el trabajo (alumnos, familiares, etc.).
   Puedo usar Internet pero va muy lento. Detecto más escaneos de puertos... :-) Al 23, 139, 25, intentando acceder con las cuentas que salen en el documento. No, la contraseña no es 142857, ya lo dije.
días 5 y 6
   Ya hay otras noticias en portada, y todos han dejado de criticarme para criticar las nuevas. Ahora tengo un ritmo de visitas bastante bueno, una cada 3 ó 4 minutos.
día 7
   Las visitas siguen al mismo ritmo...
día 25
   Me siguen mandando dudas, pero ahora las visitas son cada 10 minutos y durante las madrugadas hay 3 ó 4 horas muertas.

Logs

Seré sincero: quería experimentar el efecto Barrapunto, y ya sabía que la noticia saldría en portada si insistía lo suficiente.

Ya me había preparado un script que cada 10 minutos se apuntaba el tamaño del fichero de log. Esa es una forma muy rara de medir visitas, pero el caso es que a mí no me interesa cuánta gente entra sino cómo de rápido se acaba el espacio de mi partición. Además, en el fichero de log queda todo grabado, así que analizándolo se pueden hacer números y estadísticas.

script: logcarga   Un trozo del fichero de carga: (150 líneas)

He hecho unas gráficas con estas herramientas y datos. Las haré mejor cuando pase más tiempo.

Tamaño (en megas) del archivo de log, que está en formato Apache (ejemplo). Cada columna representa 30 horas, empezando el día 24-2-2004 a las 19:00. Donde empieza el verde es el 1-3-2004 a las 7:00. Esas amortiguaciones en la subida coinciden con las madrugadas (vaya visitantes más raros, que duermen por la noche :-).

Tamaño del log

Pero el log siempre crece; lo que interesa es la velocidad de crecimiento. Derivo la función y queda la cantidad de visitas en relación al tiempo. A la izquierda: tamaño (en kbs) que ha crecido el log en 10 minutos:

Visitas

Algunos comandos que he ejecutado (recuerdo el formato de mis logs). Captura en modo texto aquí.

comandos con los logs

Ahí puedes ver que llevo 170.000 accesos en 7 días (aunque unos 86.000 son del día 3). Pero ahí está incluida cada petición para una imagen, y hay muchas (las miniaturas). Por eso las he filtrado, y me salen 20.500 visitas "reales" (¿quién sabe? Si no hubiera proxy sí que serían reales).

25-3-2004: las mismas gráficas, pero de hoy: Tamaño log    Derivada

¿Aguantó?

Sí, no se ha colgado para nada. Quizás sea debido a lo lenta que es mi red... :-) Las peticiones que vienen de Internet pasan por el router (10 Mbits), recorren un cable de 30 metros, cruzan un switch, otro cable de 3 m. y llegan a la PCMCIA de red. Por eso algunas se perdieron. En el syslog iban saliendo mensajes de error; fíjate en el total:

amarok:/f/log# cd /var/log
amarok:/var/log# (cat syslog syslog.0; zcat syslog*gz) | grep "connection timed out sending" | wc -l
   2533
amarok:/var/log#

Estadísticas mejor hechas

Lo anterior lo he hecho yo, a mano. Si prefieres una estadística automática, aquí puedes ver la que ha hecho awstats, un buen analizador de logs (lo uso en mi web). Nota: awstats no sabe que hay un proxy-caché, por eso dice que hay tan pocos visitantes.

Qué he aprendido

Septiembre 2004: Efecto Barrapunto 2

Escribí un tutorial sobre Cómo hacer buenas páginas web, y salió en Barrapunto el día 22. Esta vez fue más fuerte que la primera, pero el servidor aguantó perfectamente (aunque el archivo de log llegó a más de 90 Mb). Hice unas gráficas de septiembre con el programa Webalizer.

Enero 2005: por tercera vez

Esta vez fue de forma indirecta: alguien mandó la pregunta: ¿Se puede usar un portátil como servidor web? y al cabo de varios comentarios le contestaron con un enlace a mi página.

Aunque no lo parezca, sólo con eso bastó para saturar la línea y que no me funcionara (casi) Internet. Yo estaba reiniciando el router todo el rato para ver si se arreglaba hasta que me di cuenta de qué era... :-) Puedes ver las estadísticas del día 5 de enero.

Febrero 2005: cuarta

Hice una pregunta sobre el ruido de mis monitores en mi bitácora, y también pasó a portada. Entró mucha gente, hasta 2500 en un día.

Aquí me di cuenta de una cosa importante: no todos disfrutan viendo cómo se satura un servidor web. Algunos querín entrar en la web y no podían por culpa del efecto, y eso puede ser molesto. Va bien tener mirrors preparados.

Estadísticas del servidor (que ya lleva un año sin reiniciar): 01feb2005.png.

Abril 2006: un DDoS de verdad

Esta vez alguien planeó un ataque sincronizado con muchos ordenadores, todos conectando a la vez, y con malas intenciones. Le he dedicado un artículo aparte: Un ataque bastante molesto.


No garantizo que lo digo en esta página esté bien; lo he hecho porque tenía algo de tiempo libre y quería dar consejos a los que se quieran preparar para el efecto. Mi próximo objetivo, ser Slashdoteado :-)

30-9-2004 Daniel Clemente Laboreo, www.danielclemente.com           Valid HTML 4.01!       Todas las gráficas (PNG y HTMLs) están en el dominio público.