2008-07-21

Mediapartners-Google y otros robots

Mediapartners-Google es el robot perteneciente a Google que encuentra páginas con adsense. Su objetivo básico es mejorar los anuncios contextuales ofrecidos mediante el programa de anuncios de Google Adwords. La ip que actualmente me está rastreando es 66.249.65.103. Muy similar a otros googlebot.

El problema de los robots es su proliferación. Las grandes compañías necesitan casi un robot para cada cosa. Al mismo tiempo el dinero que se gasta en hosting ha bajado notablemente y ha aumentado la mayoría de las características. Aunque esto es una clara mejora, necesitas un buen servidor dedicado para soportar varios robots al mismo tiempo.

Una posible situación fictica, demasiado real para alguno de mis servidores es la conjunción de algún googlebot, el mediapartners y el yahoo slurp. Si a eso le añadimos algún robot navegando en modo stealth, obtenemos una elevada carga en el servidor que se traduce en unos tiempos de respuesta extremadamente altos.

Después de optimizar todas las consultas sql y de intentar bloquear los robots de lamers ( generalmente no cambian el User-Agent de su robot ) todavía se me ralentiza bastante el servidor algunas veces.

Las opciones son claras:
  1. mejorar el ancho de banda del servidor, la carga que puede soportar el servidor y gastarse más dinero.

  2. mejorar el sistema antibloqueo de bots perniciosos ( no quiero banear a google bot)


Lo de cambiar a un servidor más potente lo haremos al finalizar el verano. El sistema anti-bots lo acabo de realizar. Es muy simple y también demasiado manual.

Para no cargar demasiado el servidor sólo funciona durante una pequeña parte de las visitas. Graba la ip y el User-Agent en una tabla. Otro script está programado mediante el cron para enviarme un informe periódicamente con las ips que han generado más visitas y consecuentemente más carga en el servidor.

Después de esto tengo que analizar el informe y ver si deniego el acceso a alguna ip mediante el deny from del .htaccess.

Parece un proceso no demasiado limpio y sobretodo que me va a generar más trabajo de la cuenta. Por eso la opción de cambio de servidor es la que más me gusta.

3 comentarios:

Anónimo dijo...

A que te refieres com bots de lammers?

tengo una pagina web que indexa miles de posts al dia (y tal vez me siento aludido).

realmente las optimizaciones que dices que bloquear bots, y esas cosas que propones para optimizar tu site son "En General Correctas", pero si esos bots visitasen el sitio mas de 10.000 veces por dia. cosa que no creo, asi que es siempre contraproducente, ademas podrias ganar algun link.

avanzaweb dijo...

Respecto a lo de los lammers... te remito a la wikipedia. A esa definición la contextualizas en mi artículo y obtendrás la respuesta.

En principio el artículo iba sobre sobrecarga de servidores por robots y scrapers generalistas. Tu robot en particular supongo que hará uso de algún archivo rss. Por lo que tendrá limitada su tarea al procesamiento de ese archivo dado por el webmaster.

Para sobrecargar el servidor no hace falta visitar 10000 veces el sitio sino bajarse toda la página de una tacada a toda virolla. Si en el mismo horario le añades algún robotito que te gusta que entre...las posibilidades que se te colapse el sistema son muy elevadas.

Durante el tiempo que dura la descarga de ese robot la página estará caída.

Respecto a los enlaces: es más práctico meterse en un foro y comprar enlaces que esperar que te enlacen.

Además muchos de los agregadores rss no dan buenos enlaces.

El consejo de mucha gente es generar una lista blanca de forma que sólo los bots conocidos puedan entrar en tu web. Obviamente es una postura muy tajante.

Yo soy partidario de una lista gris/negra... bloqueo selectivo.

Jorge dijo...

Para mi lo ideal es tomar de esos informes las ips y/o los user agents y bloquearlos manualmente. Al cabo de un tiempo se logrará bloquear a casi todos, y como mínimo se bajará la carga del servidor que no es poca cosa.