Problema de concurrencia

13/12/2007 - 06:40 por Alejandro | Informe spam
Hola señores buen día,

Actualmente tengo un problema grave con una aplicación que se encuentra
en producción...

Esta aplicación es un "hibrido" mezclando asp tradicional y asp.net, el
problema es que subitamente la concurrencia aumentó ( alrededor de
70,000 y 140,000 hits diarios) y el tiempo de respuesta del IIS es
demasiado lento; analizando el log utilizando el LogParser encontré que
las páginas lentas son las ASP convencionales (no las .net aspx )
tomando entre 30000 y 50000 milisegundos en procesarse siendo que estas
no tienen ningun acceso a BD, solamente una secuencia de IFs y
dependiendo de ellos se hace Response.Write "..".

El problema no se presenta en todos los requests, es aproximadamente en
un 10% pero es desesperante ya que el request promedio debe rondar sobre
los 2 y 5 segundos.

He buscado alguna forma de solucionar esta problemática y lo unico que
medio ha funcionado fue convertir unas de las páginas asp tradicional a
ASPX y con esto logré reducir el porcentaje de paginas lentas a un 2 -
3% de los request pero aun sigue causando problemas y es lo que no quiero.

El caching no es una opción viable ya que el contenido de la pagina
puede cambiar drásticamente entre request y request de muy diversas formas.

Lo que estamos por implementar es un "load balance" pero vía router el
cual ruteara el tráfico entre uno u otro server dependiendo de como este
router considere la carga, pero esto no considero que fuese la solución
ideal.

Espero puedan ayudarme con alguna idea / truco de tunning o sugerencia
por que es una situación por demás desesperante.

Muchas gracias, saludos

Alex

Preguntas similare

Leer las respuestas

#1 Sashka
13/12/2007 - 16:05 | Informe spam
Más que un truco de tunning, yo trataría de hacer la migración de todo a
asp.net.
Asp es definitivamente más lento que asp.net en tanto que no es compilado.
Además es muy probable que los scripts sean ineficientes (exceso de loops,
concatenación de strings, incluso qe sean demasiado extensos, etc.).
En todo caso, si la migración no es posible, por las razones que sean, aca
unos links para optimizar los scripts.

http://technet.microsoft.com/en-us/...27078.aspx
http://aspdownload.com/read/?art586...+Execution
http://www.webdevelopersjournal.com...mance.html


Sashka

"Alejandro" escribió en el mensaje
news:
Hola señores buen día,

Actualmente tengo un problema grave con una aplicación que se encuentra en
producción...

Esta aplicación es un "hibrido" mezclando asp tradicional y asp.net, el
problema es que subitamente la concurrencia aumentó ( alrededor de 70,000
y 140,000 hits diarios) y el tiempo de respuesta del IIS es demasiado
lento; analizando el log utilizando el LogParser encontré que las páginas
lentas son las ASP convencionales (no las .net aspx ) tomando entre 30000
y 50000 milisegundos en procesarse siendo que estas no tienen ningun
acceso a BD, solamente una secuencia de IFs y dependiendo de ellos se hace
Response.Write "..".

El problema no se presenta en todos los requests, es aproximadamente en un
10% pero es desesperante ya que el request promedio debe rondar sobre los
2 y 5 segundos.

He buscado alguna forma de solucionar esta problemática y lo unico que
medio ha funcionado fue convertir unas de las páginas asp tradicional a
ASPX y con esto logré reducir el porcentaje de paginas lentas a un 2 - 3%
de los request pero aun sigue causando problemas y es lo que no quiero.

El caching no es una opción viable ya que el contenido de la pagina puede
cambiar drásticamente entre request y request de muy diversas formas.

Lo que estamos por implementar es un "load balance" pero vía router el
cual ruteara el tráfico entre uno u otro server dependiendo de como este
router considere la carga, pero esto no considero que fuese la solución
ideal.

Espero puedan ayudarme con alguna idea / truco de tunning o sugerencia por
que es una situación por demás desesperante.

Muchas gracias, saludos

Alex

Respuesta Responder a este mensaje
#2 Jose A. Fernandez
14/12/2007 - 00:37 | Informe spam
Ademas de lo que te recomienda Sashka en los enlaces que te envia, mmm
te convendria (si no lo tienes ya claro...) comprimir la salida del
IIS es decir que el html que viaja al cliente lo haga en formato
comprimido, esto mejora mucho la performance (y mas aun si hablamos de
paginas ASP Clasicas)
- Habilitar la compresión HTTP en IIS y ASP.Net (lo puedes hacer
para todo el contenido del sitio)
http://geeks.ms/blogs/rcorral/archi...p-net.aspx

Ademas abrir que verificar si se puede optimizar el contenido, hay un
webcast grabado de optimizacion de aplicaciones de .net (y tambien
web) que te pueden resultar interesante. Buscalo a ver si lo
encnuentras no lo tengo a mano
Espero que te pueda servir de ayuda o guia

NOTA: Deberias realizar una prueba de stress para este tipo de
escenarios... algo que no se si VS2005 Team Edition que trae una puede
realizar pruebas de stress sobre paginas asp clasicas? (si alguien
conoce esto me avisa por favor)
______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja



On 13 dic, 12:05, "Sashka" wrote:
Más que un truco de tunning, yo trataría de hacer la migración de todo a
asp.net.
Asp es definitivamente más lento que asp.net en tanto que no es compilado.
Además es muy probable que los scripts sean ineficientes (exceso de loops,
concatenación de strings, incluso qe sean demasiado extensos, etc.).
En todo caso, si la migración no es posible, por las razones que sean, aca
unos links para optimizar los scripts.

http://technet.microsoft.com/en-us/...8.aspxhttp://aspdownload.com/read/?art586&t=Speeding+Up+ASP+Page+Executionhttp://www.webdevelopersjo...mance.html

Sashka

"Alejandro" escribió en el mensajenews:

> Hola señores buen día,

> Actualmente tengo un problema grave con una aplicación que se encuentra en
> producción...

> Esta aplicación es un "hibrido" mezclando asp tradicional y asp.net, el
> problema es que subitamente la concurrencia aumentó ( alrededor de 70,000
> y 140,000 hits diarios) y el tiempo de respuesta del IIS es demasiado
> lento; analizando el log utilizando el LogParser encontré que las páginas
> lentas son las ASP convencionales (no las .net aspx ) tomando entre 30000
> y 50000 milisegundos en procesarse siendo que estas no tienen ningun
> acceso a BD, solamente una secuencia de IFs y dependiendo de ellos se hace
> Response.Write "..".

> El problema no se presenta en todos los requests, es aproximadamente en un
> 10% pero es desesperante ya que el request promedio debe rondar sobre los
> 2 y 5 segundos.

> He buscado alguna forma de solucionar esta problemática y lo unico que
> medio ha funcionado fue convertir unas de las páginas asp tradicional a
> ASPX y con esto logré reducir el porcentaje de paginas lentas a un 2 - 3%
> de los request pero aun sigue causando problemas y es lo que no quiero.

> El caching no es una opción viable ya que el contenido de la pagina puede
> cambiar drásticamente entre request y request de muy diversas formas.

> Lo que estamos por implementar es un "load balance" pero vía router el
> cual ruteara el tráfico entre uno u otro server dependiendo de como este
> router considere la carga, pero esto no considero que fuese la solución
> ideal.

> Espero puedan ayudarme con alguna idea / truco de tunning o sugerencia por
> que es una situación por demás desesperante.

> Muchas gracias, saludos

> Alex
Respuesta Responder a este mensaje
#3 Alejandro
14/12/2007 - 06:45 | Informe spam
Hola,

No encuentro las recomendaciones de Sashka que mencionas pero las veo en
el fondo de tu mensaje!

Te comento, la compresión de contenido estático y dinámico ya está
habilitada, inclusive la deshabilité pensando que si hago que el IIS no
se tome tiempo en procesar la compresión la respuesta sería mas rápida.

Inclusive en las propiedades del sitio, habilité el cacheo para todas
las páginas dinamicas y el contenido estático (sin limite de archivos)
pero sigue igual...

Tambien desconozco si las pruebas de stress funcionarían con asp
tradicional pero mañana pruebo (en la oficina no tengo acceso al news
group, solo en casa).

Muchas gracias por el enlace también, lo revisaré mañana en la oficina
ya que es hora de dormir :P

Gracias de verdad, Jose y Sashka.

Saludos

AA

Jose A. Fernandez wrote:
Ademas de lo que te recomienda Sashka en los enlaces que te envia, mmm
te convendria (si no lo tienes ya claro...) comprimir la salida del
IIS es decir que el html que viaja al cliente lo haga en formato
comprimido, esto mejora mucho la performance (y mas aun si hablamos de
paginas ASP Clasicas)
- Habilitar la compresión HTTP en IIS y ASP.Net (lo puedes hacer
para todo el contenido del sitio)
http://geeks.ms/blogs/rcorral/archi...p-net.aspx

Ademas abrir que verificar si se puede optimizar el contenido, hay un
webcast grabado de optimizacion de aplicaciones de .net (y tambien
web) que te pueden resultar interesante. Buscalo a ver si lo
encnuentras no lo tengo a mano
Espero que te pueda servir de ayuda o guia

NOTA: Deberias realizar una prueba de stress para este tipo de
escenarios... algo que no se si VS2005 Team Edition que trae una puede
realizar pruebas de stress sobre paginas asp clasicas? (si alguien
conoce esto me avisa por favor)
______________________
Jose A. Fernandez
blog: http://geeks.ms/blogs/fernandezja



On 13 dic, 12:05, "Sashka" wrote:
Más que un truco de tunning, yo trataría de hacer la migración de todo a
asp.net.
Asp es definitivamente más lento que asp.net en tanto que no es compilado.
Además es muy probable que los scripts sean ineficientes (exceso de loops,
concatenación de strings, incluso qe sean demasiado extensos, etc.).
En todo caso, si la migración no es posible, por las razones que sean, aca
unos links para optimizar los scripts.

http://technet.microsoft.com/en-us/...8.aspxhttp://aspdownload.com/read/?art586&t=Speeding+Up+ASP+Page+Executionhttp://www.webdevelopersjo...mance.html

Sashka

"Alejandro" escribió en el mensajenews:

Hola señores buen día,
Actualmente tengo un problema grave con una aplicación que se encuentra en
producción...
Esta aplicación es un "hibrido" mezclando asp tradicional y asp.net, el
problema es que subitamente la concurrencia aumentó ( alrededor de 70,000
y 140,000 hits diarios) y el tiempo de respuesta del IIS es demasiado
lento; analizando el log utilizando el LogParser encontré que las páginas
lentas son las ASP convencionales (no las .net aspx ) tomando entre 30000
y 50000 milisegundos en procesarse siendo que estas no tienen ningun
acceso a BD, solamente una secuencia de IFs y dependiendo de ellos se hace
Response.Write "..".
El problema no se presenta en todos los requests, es aproximadamente en un
10% pero es desesperante ya que el request promedio debe rondar sobre los
2 y 5 segundos.
He buscado alguna forma de solucionar esta problemática y lo unico que
medio ha funcionado fue convertir unas de las páginas asp tradicional a
ASPX y con esto logré reducir el porcentaje de paginas lentas a un 2 - 3%
de los request pero aun sigue causando problemas y es lo que no quiero.
El caching no es una opción viable ya que el contenido de la pagina puede
cambiar drásticamente entre request y request de muy diversas formas.
Lo que estamos por implementar es un "load balance" pero vía router el
cual ruteara el tráfico entre uno u otro server dependiendo de como este
router considere la carga, pero esto no considero que fuese la solución
ideal.
Espero puedan ayudarme con alguna idea / truco de tunning o sugerencia por
que es una situación por demás desesperante.
Muchas gracias, saludos
Alex





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida