2009-02-12 17 views
5

Estoy mirando una aplicación asp.net que hace que las llamadas a una base de datos dentro de la aplicación se inicien dentro de global.asax. Estas llamadas demoran alrededor de 3 segundos (depende del plan de caché de SQL) para ejecutarse. Me he dado cuenta de que la aplicación ejecuta lentamente la primera vez que vuelvo a implementar. Lo puse en las llamadas a la base de datos mientras comenzaba la aplicación. Sin embargo, después de unos minutos, la aplicación nuevamente toma tiempo para cargarse.application_start disparando inesperadamente asp.net

Para saber qué sucedía, escribí en un archivo de registro (ver a continuación). Desde este archivo, puede ver que el inicio de la aplicación se dispara varias veces cuando varias solicitudes llegan a la aplicación por primera vez. Luego, parece que el application_start se activa de forma aleatoria (de 2 a 10 minutos).

Según entiendo cómo funciona la aplicación, debe activarse solo cuando se inicia la aplicación FIRST, ¡pero parece que se activa desde múltiples clientes al azar! De acuerdo con MSDN "El evento Application_Start se inicia por primera vez cuando se inicia una aplicación."

¿Alguien me puede ayudar a resolver qué está pasando? Estoy usando IIS6 y .net 2.0. ¿Me falta una configuración de grupo de aplicaciones?

Muchas gracias Rippo

[12/02/2009 16:16:58] 91.84.25.241 - Application started, Sub MyRules started 
[12/02/2009 16:17:06] 65.55.51.34 - Application started, Sub MyRules started 
[12/02/2009 16:17:07] 91.84.25.241 - Application started, Sub MyRules completed 
[12/02/2009 16:17:10] 65.55.51.34 - Application started, Sub MyRules completed 
[12/02/2009 16:17:26] 212.115.51.229 - Application started, Sub MyRules started 
[12/02/2009 16:17:30] 212.115.51.229 - Application started, Sub MyRules completed 
[12/02/2009 16:17:30] 212.115.51.229 - Application started, Sub MyRules started 
[12/02/2009 16:17:33] 212.115.51.229 - Application started, Sub MyRules completed 
[12/02/2009 16:17:33] 212.115.51.229 - Application started, Sub MyRules started 
[12/02/2009 16:17:36] 212.115.51.229 - Application started, Sub MyRules completed 
[12/02/2009 16:17:36] 212.115.51.229 - Application started, Sub MyRules started 
[12/02/2009 16:17:39] 212.115.51.229 - Application started, Sub MyRules completed 
[12/02/2009 16:17:42] 212.115.51.229 - Application started, Sub MyRules started 
[12/02/2009 16:17:48] 212.115.51.229 - Application started, Sub MyRules completed 
[12/02/2009 16:17:48] 212.115.51.229 - Application started, Sub MyRules started 
[12/02/2009 16:17:52] 212.115.51.229 - Application started, Sub MyRules completed 
[12/02/2009 16:17:52] 212.115.51.229 - Application started, Sub MyRules started 
[12/02/2009 16:17:54] 212.115.51.229 - Application started, Sub MyRules completed 
[12/02/2009 16:18:27] 91.84.25.241 - Application started, Sub MyRules started 
[12/02/2009 16:18:31] 91.84.25.241 - Application started, Sub MyRules completed 
[12/02/2009 16:18:31] 212.115.51.229 - Application started, Sub MyRules started 
[12/02/2009 16:18:33] 212.115.51.229 - Application started, Sub MyRules completed 
[12/02/2009 16:29:26] 167.230.38.115 - Application started, Sub MyRules started 
[12/02/2009 16:29:28] 167.230.38.115 - Application started, Sub MyRules completed 
[12/02/2009 16:29:34] 82.110.42.84 - Application started, Sub MyRules started 
[12/02/2009 16:29:37] 82.110.42.84 - Application started, Sub MyRules completed 
[12/02/2009 16:29:38] 82.110.42.84 - Application started, Sub MyRules started 
[12/02/2009 16:29:41] 82.110.42.84 - Application started, Sub MyRules completed 
[12/02/2009 16:32:53] 99.142.1.97 - Application started, Sub MyRules started 
[12/02/2009 16:32:57] 99.142.1.97 - Application started, Sub MyRules completed 
[12/02/2009 16:32:57] 99.142.1.97 - Application started, Sub MyRules started 
[12/02/2009 16:33:01] 99.142.1.97 - Application started, Sub MyRules completed 
[12/02/2009 16:33:01] 99.142.1.97 - Application started, Sub MyRules started 
[12/02/2009 16:33:06] 99.142.1.97 - Application started, Sub MyRules completed 
[12/02/2009 16:33:06] 99.142.1.97 - Application started, Sub MyRules started 
[12/02/2009 16:33:10] 99.142.1.97 - Application started, Sub MyRules completed 
[12/02/2009 16:33:11] 99.142.1.97 - Application started, Sub MyRules started 
[12/02/2009 16:33:16] 99.142.1.97 - Application started, Sub MyRules completed 
[12/02/2009 16:36:15] 65.55.51.34 - Application started, Sub MyRules started 
[12/02/2009 16:36:17] 65.55.51.34 - Application started, Sub MyRules completed 
[12/02/2009 16:41:37] 119.123.226.156 - Application started, Sub MyRules started 
[12/02/2009 16:41:37] 62.49.121.122 - Application started, Sub MyRules started 
[12/02/2009 16:41:40] 62.49.121.122 - Application started, Sub MyRules completed 
[12/02/2009 16:41:40] 119.123.226.156 - Application started, Sub MyRules completed 
[12/02/2009 16:41:41] 62.49.121.122 - Application started, Sub MyRules started 
[12/02/2009 16:41:44] 62.49.121.122 - Application started, Sub MyRules completed 
[12/02/2009 16:45:17] 84.70.249.242 - Application started, Sub MyRules started 
[12/02/2009 16:45:19] 84.70.249.242 - Application started, Sub MyRules completed 
[12/02/2009 16:47:03] 80.41.121.68 - Application started, Sub MyRules started 
[12/02/2009 16:47:05] 80.41.121.68 - Application started, Sub MyRules completed 
[12/02/2009 16:47:29] 81.179.26.249 - Application started, Sub MyRules started 
[12/02/2009 16:47:31] 81.179.26.249 - Application started, Sub MyRules completed 
[12/02/2009 16:47:59] 81.136.179.170 - Application started, Sub MyRules started 
[12/02/2009 16:47:59] 81.136.179.170 - Application started, Sub MyRules started 
[12/02/2009 16:48:02] 81.136.179.170 - Application started, Sub MyRules completed 
[12/02/2009 16:48:02] 81.136.179.170 - Application started, Sub MyRules started 
[12/02/2009 16:48:02] 81.136.179.170 - Application started, Sub MyRules completed 
[12/02/2009 16:48:02] 81.136.179.170 - Application started, Sub MyRules started 
[12/02/2009 16:48:04] 81.136.179.170 - Application started, Sub MyRules completed 
[12/02/2009 16:48:04] 81.136.179.170 - Application started, Sub MyRules completed 
[12/02/2009 16:52:35] 69.34.161.80 - Application started, Sub MyRules started 
[12/02/2009 16:52:35] 69.34.161.80 - Application started, Sub MyRules started 
[12/02/2009 16:52:35] 69.34.161.80 - Application started, Sub MyRules started 
[12/02/2009 16:52:38] 69.34.161.80 - Application started, Sub MyRules completed 
[12/02/2009 16:52:38] 69.34.161.80 - Application started, Sub MyRules started 
[12/02/2009 16:52:39] 69.34.161.80 - Application started, Sub MyRules completed 
[12/02/2009 16:52:39] 69.34.161.80 - Application started, Sub MyRules completed 
[12/02/2009 16:52:40] 69.34.161.80 - Application started, Sub MyRules completed 

Respuesta

0

Resultó ser un DLL que gotea ...

+0

¿Qué es un dll con fugas? Me pregunto ... –

+0

Después de 5 años tiene una fuga importante ahora ... en serio, si la memoria me sirve bien fue una dll de reescritura de terceros que tenía un error y estaba lanzando errores que causó que la aplicación reciclara continuamente ... no recuerdo los detalles – Rippo

+0

dll de terceros con errores que es! =) –

2

Compruebe el registro de eventos, algo que está causando el grupo de aplicación para reciclar.

15

Compruebe en qué casos se reinicia una aplicación. Recientemente estábamos escribiendo algunas entradas de registro en la carpeta bin y exactamente lo mismo estaba sucediendo y no entendimos la razón. Entonces, finalmente, se dio cuenta de que realizar modificaciones en la carpeta bin provocaba el reinicio de la aplicación.

+0

Estaba haciendo esto y luchando con mi aplicación web durante las últimas horas. ¡Gracias por la respuesta aquí, a pesar de que no era exactamente lo que estaba sucediendo con respecto a esta pregunta! –

+0

+1 - Estaba volcando un archivo SQL generado allí y no tenía idea de por qué se reiniciaba la aplicación. Yo votaría 1000 veces más si pudiera. – TheCloudlessSky

+0

¡Gracias por salvar el largo viaje! – kalki

2

tuve un problema con el Application_Start conseguir llama varias veces, y resulta que era porque tenía varias instancias establecieron. Estúpido error, pero quería tomar nota.

1

No sé por qué, pero vi lo mismo en mis registros. ¿Es posible porque lleva demasiado tiempo y tienes varias solicitudes entrando al mismo tiempo? De todos modos, solo para estar seguro, estoy agregando este código:

public class MvcApplication : HttpApplication 
{ 
    private static volatile bool hasRegisteredBgTasks = false; 
    private static object registeredBgTasksLock = new object(); 

    protected void Application_Start() 
    { 
     lock (registeredBgTasksLock) 
     { 
      if (hasRegisteredBgTasks) 
      { 
       return; 
      } 
      // Actual start up code. 
      hasRegisteredBgTasks = true; 
     } 
    } 

    // Other Application methods... 
} 
+0

Otra posibilidad en mi caso fue usar la implementación web en el sitio en vivo. Podría haber estado medio desplegado, un usuario lo golpea, inicia la aplicación, luego ingresan más archivos y se reinicia de nuevo. –

Cuestiones relacionadas