Difernetes tiempos Ejecución SSIS Visual Studio - Server Storage

28/04/2009 - 15:04 por José Daniel | Informe spam
Tengo un ssis que si lo ejecuto desde el Visual Studio (diseño), anda bien,
pero al subirlo al servidor (opción protection level: Server Storage);
degrada su perfomance y se hace imposible ejecutarlo.
Noto una degradación cuando cicla en un foreachloop, cosa que no sucede
desde Visual Studio.
Dentro del loop realiza un par de sql task, un par de scripts .Net, y un
file system task.
los scripts sql se ejecutan rápido, un script net genera un nombre de
archivo, el otro
controla y el file system task mueve el pdf a subcarpetas.
El ssis recibe un txt con nombres de archivos pdf, inserta en una tabla y a
partir
de ahi comienza el loop que mueve los archivos físicamente a subcarpetas
desde
una carpeta origen, o sea los subclasifica y ordena.
Cuando esta alojado en el server este Foreachloop comienza moviendo 11
archivos por seg.
pero se degrada a los 1000 archivos y hasta terminó haciendo 1 cada 20seg.
El ssis se aloja en un server A y los pdf se alojan en un server B.
En el server A está la base que los scripts del loop insertan registros de
cada pdf.
Server A: HP Proliant dl385 raid 1+0 (mdf) 6 sas 10K, raid 1 (ldf) 2sas 10;
8Gb Ram
Windows Server 2003 64 bits, SQLServer 2005 SP2
Server B: Dell PowerEdge2950 raid 5 15K 3 discos sas. 4Gb Ram
Windows Server 2003 64 bits
Cualquier sugerencia es bienvenida, Gracias!!

Preguntas similare

Leer las respuestas

#6 José Daniel
29/04/2009 - 19:55 | Informe spam
Gustavo, en el foreachloop descarto que la demora sean los scripts
pero no descarto los assemblies .Net.
Los scripts si descarto porque a través de un profiler en el servidor
veo que los resuelve rápido.
El problema que veo es que demoran en llegar. Es decir las
peticiones demoran, pero cuando llegan las responde rápido.
Hay algo que se degrada porque empieza bien, pero después de
1000 pdf aprox, comienza a demorar.
No descarto:
1- Assembiles Net
2- File system task (mueve pdf)
3- loop
Cómo podría medir estos puntos?
Tener en cuenta que ejecutarlo desde Bi anda bien.

Tanto en el servidor como en la pc del desarrollador
está instalado el SP2 de SQL.
Gracias, Saludos.-
Respuesta Responder a este mensaje
#7 Gustavo Larriera
29/04/2009 - 20:09 | Informe spam
Empiece por saltear la ejecución del File System Task y observe si el tiempo
se degrada. Si observa el mismo comportamiento, entonces el problema está en
los assemblies .NET

Si puede modificar más a fondo el ForEachLoop, inserte escrituras de
GETDATE() en alguna tabla o archivo de log, para intentar saber qué paso está
causando la demora.

Como no soy experto en programación de SSIS, pienso que tal vez hay mejores
maneras de medir la performance o de hacer una traza del package...
Simplemente soy ignorante en el tema.

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"José Daniel" wrote:

Gustavo, en el foreachloop descarto que la demora sean los scripts
pero no descarto los assemblies .Net.
Los scripts si descarto porque a través de un profiler en el servidor
veo que los resuelve rápido.
El problema que veo es que demoran en llegar. Es decir las
peticiones demoran, pero cuando llegan las responde rápido.
Hay algo que se degrada porque empieza bien, pero después de
1000 pdf aprox, comienza a demorar.
No descarto:
1- Assembiles Net
2- File system task (mueve pdf)
3- loop
Cómo podría medir estos puntos?
Tener en cuenta que ejecutarlo desde Bi anda bien.

Tanto en el servidor como en la pc del desarrollador
está instalado el SP2 de SQL.
Gracias, Saludos.-



Respuesta Responder a este mensaje
#8 José Daniel
29/04/2009 - 21:41 | Informe spam
Claro esas pruebas tendría que empezar a hacer.
Para eso debería armar un ambiente prueba.
Con respecto a las escrituras, cada insert a la tabla
en la base de datos tiene un getdate.
De esa tabla concluyo que se comienza procesando
11 pdfs por seg y se degrada a l pdf cada 20 seg.
Lo que debería intentar hacer es un insert a un log
después de cada paso dentro del loop para
particularizar el o los pasos que degradan.
Yo tampoco conozco programación SSIS
por eso se me complica, y no soy el autor
del ssis.
por lo que estuve viendo todos los nombres
de los pdfs se manejan con variables, como así
también los paths origen y destino.
Gracias de nuevo!
Respuesta Responder a este mensaje
#9 Carlos Sacristan
30/04/2009 - 10:51 | Informe spam
Hay una herramienta muy útil para auditar la ejecución de un paquete de SSIS
creada por Davide Mauri que te la puedes descargar de
http://www.davidemauri.it/dtloggedexec.aspx. Creo que en tu caso te puede
dar una idea de por dónde está el problema

Ah, es gratuita ;-)

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"José Daniel" escribió en el mensaje
news:
Claro esas pruebas tendría que empezar a hacer.
Para eso debería armar un ambiente prueba.
Con respecto a las escrituras, cada insert a la tabla
en la base de datos tiene un getdate.
De esa tabla concluyo que se comienza procesando
11 pdfs por seg y se degrada a l pdf cada 20 seg.
Lo que debería intentar hacer es un insert a un log
después de cada paso dentro del loop para
particularizar el o los pasos que degradan.
Yo tampoco conozco programación SSIS
por eso se me complica, y no soy el autor
del ssis.
por lo que estuve viendo todos los nombres
de los pdfs se manejan con variables, como así
también los paths origen y destino.
Gracias de nuevo!




Respuesta Responder a este mensaje
#10 Penta
08/05/2009 - 06:06 | Informe spam
Los script .net puedes hacer un pequeño resumen del codigo ?

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