[MASOCH-L] IIS - ASP - ScriptTimeout

Marcelo Coelho marcelo at tpn.com.br
Tue May 31 10:14:55 BRT 2005


Olá Gerson,

Desde o IIS 5 podemos limitar a utilização CPU, mas isso de nada adianta se
o script está em loop ou se o loop é muito grande (por exemplo, envio de
milhares de mensagens).

É colocar o script para rodar e a CPU vai a 100% de utilização, todos os
demais sites travam e dão erro de Timeout.

Um script simples pode travar tudo:

<%
Server.ScriptTimeout = 99999999999
Do While True
    Response.Write "test"
Loop
%>

O problema todo está no Server.ScriptTimeout. O usuário pode definir o tempo
do script para quanto tempo quiser, o IIS só interrompe a execução do script
quando o Timeout é atingido (ou quando restartamos o serviço, claro).

--
Marcelo Coelho
marcelo at tpn.com.br



----- Original Message ----- 
From: "Gerson Abdon Caldeira" <gersonagc at gmail.com>
To: "Mail Aid and Succor, On-line Comfort and Help"
<masoch-l at eng.registro.br>
Sent: Tuesday, May 31, 2005 9:51 AM
Subject: Re: [MASOCH-L] IIS - ASP - ScriptTimeout


Olá Marcelo,

Acredito que com a versão Advanced Server do Windows se pode limitar o uso
de CPU e memória.

Gerson.

On 5/30/05, Marcelo Coelho <marcelo at tpn.com.br> wrote:
>
> Olá Pessoal.
>
> Uma das dores de cabeça para quem oferece hospedagem compartilhada Windows
> usando IIS são os scripts mal feitos. No IIS, temos a opção ScriptTimeOut,
> porém via programação ASP, um programador pode setar Server.ScriptTimeoute
> alterar o parâmetro, sobregravando a informação setada no IIS.
>
> Scripts mal feitos podem consumir 100% de CPU. Um LOOP infinito numa
> leitura
> de banco de dados simplesmente trava o processamento das demais páginas,
> até
> que o TimeOut do script tenha sido atingido.
>
> Isso sem falar nos malandrinhos que querem enviar 100.000 e-mails usando
> um
> script ASP e setam o timeout em 9999999 segundos.
>
> Claro que o IIS não sabe como diferenciar código bom de código ruim, mas
> existe algo que pode ser feito para se proteger ou minimizar o problema?
>
> Eu já pesquisei muito sobre o assunto, tudo que encontrei foi o IISTracer,
> que serve para monitorar o que está rodando no momento e possivelmente
> detectar quem está rodando o script, mas não serve para conter o problema
> de
> forma preventiva.
>
> Será que há solução para este tipo de problema?
>
> Obrigado. Um abraço a todos.
>
> --
> Marcelo Coelho
> marcelo at tpn.com.br
>
>
>
>
> __
> masoch-l list
> https://eng.registro.br/mailman/listinfo/masoch-l
>
__
masoch-l list
https://eng.registro.br/mailman/listinfo/masoch-l



More information about the masoch-l mailing list