« M'encantaria poder canviar el món... però és que no em donen el codi font » (geek anònim)


   

Informàtica


 
Fa dies que tenía un problema greu:

Darrerament el tràfic era tan gros que començava a tenir problemes amb les based de dades, que fallaven per excés de consultes.

A www.Homar.org mir que ningú pugui utilitzar un programa de descàrrega de webs, ja que això produeix un tràfic molt gran, però, precisament, la primera base de dades en 'morir' va ser la que controla això. I, es clar, al desconnectar aquest bloqueig, sencillament, moltes de vegades només es podia veure un missatge de error.

Avui he trobat una sol·lució, vàlida per pàgines en ASP:

< %

if (isnull(Session("inicio"))or not( Session("inicio")>0) )then
Session("inicio") = now()
Session("paginas") = 1
else
Session("paginas") = Session("paginas") + 1
tiempopasado = Cint(86400*(now()-Session("inicio")))
ralentiza = session("paginas")*3 - tiempopasado
if (ralentiza>0) then
Set chell = CreateObject("WScript.Shell")
chell.Popup "sleep",1,"title"
end if
end if

% >

Així, als que demanen més d'una pàgina cada tres segons, el faig esperar com a minim un segon per pàgina. Inicialment, havia posat que el càstic fos de "ralentiza" segons, però, no se per què, resulta que això afecta a tots els que intenten veure la pàgina concreta en la que es produeix aquesta espera i no nomès al 'castigat'. ¿Potser que el Popup no funcioni a nivell de sessió, sinó a nivell de màquina? ja ho averiguarè,

Però, com a mínim, els robots hauràn de recorrer la web amb més calma i torna a no poder-se descarregar la web d'una tacada. Qui la vulgui veure, la te disponible a Internet.

09/06/2008 Les coses d'en Zolople/Informàtica [ca]

   
   
  © Bartomeu Homar i Graxell www.zolople.com | escriu-me | informació legal