[U-co] Aumento de carga en servidor web
Fabian Rodriguez
magicfab en ubuntu.com
Jue Oct 1 13:26:11 UTC 2009
Hernando Bocanegra wrote:
> Buenos dias compañeros,
>
> Tengo un problema bastante grave y os agradeceria si me pudieran dar una luz
> al respecto.
>
La mayoría de problemas de carga en servidores web provienen de
agotamiento de recursos... que en general provienen de ataques DOS
(Denial of Service).
Mira en tus logs si hay patrones de acceso abusivos. Por ejemplo para
listar accesos a archivos PHP en orden:
sudo cat /var/log/apache2/access.log| awk '{print $7}' | sort | uniq -c
|sort -n | grep php
El resultado sería similar a:
1 /index.php?cat=WiFi
1 /pm_search.php
1 /r.php?d=colext.orgerror.php
1 /r.php?d=linuxquebec.org
2 /blog/2002/07/03/les-forums-de-discussion-de-retour/index.php
2 /blog/wp-cron.php?check=f7f69e0710322abf770ce2c790fd5a63
2 /blog/xmlrpc.php?rsd
2 /wp/wp-rdf.php
25 /blog/wp-comments-post.php
La cifra en la primera columna indica el número de "hits".
(lo probé en un log de poco tráfico..)
Recuerda ajustar los ejemplos a tu caso particular.. por ejemplo si tu
sitio no es en PHP :)
También puedes buscar frecuencia de accesos por IP (en una sóla línea):
sudo cat /var/log/apache2/access.log| awk '{print $1}' | sort | uniq -c
|sort -n
Ejemplo de resultado:
23 dhcp-47-196.nomad.chalmers.se
27 58.214.107.39
28 194.8.75.64
31 rate-limited-proxy-209-85-238-24.google.com
32 65.55.232.23
33 crawl9.dotnetdotcom.org
33 humboldt.canonical.com
41 ip-212-117-168-22.server.lu
46 61.135.216.104
96 llf531368.crawl.yahoo.net
104 219-87-28-2.static.tfn.net.tw
104 adsl-99-55-180-6.dsl.bcvloh.sbcglobal.net
1119 crawl-66-249-67-82.googlebot.com
La cifra en la primera columna indica el número de visitas de la misma
IP o host. Por ejemplo aquí 1120 visitas de un bot de indexación de
Google se vé abusivo y desproporcionado. O quizás según el contexto sea
normal.
Con esa información puedes decidir si optimizas alguna parte de tu sitio
web, o si bloqueas algunas direcciones, o una combinación de ambas cosas.
Eso es más bien básico, pero en los casos que me han tocado, quienes
tenían este problema de abuso no habían hecho estos chequeos y al
hacerlos pudieron identificar otras cosas. Puede parecer una pregunta
simple pero como principiante en asuntos de servidor cada vez que hice
la pregunta incluso a colegas se quedaban con la mirada atónita.. La
mayoría de sysadmin que conozco están rodeados de herramientas
sofisticadas y es difícil tener explicaciones básicas de asuntos como éste.
Ojalá te sirva, de cualquier modo me interesa saber cómo resuelves tu
caso.
Suerte,
Fabian
Más información sobre la lista de distribución Ubuntu-co