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

#1 Carlos Sacristan
28/04/2009 - 15:22 | Informe spam
¿Cuando lo ejecutas desde VS lo haces con los mismos datos que cuando se
hace desde el servidor de producción?

Otra cosa que podrías mirar es que si la tarea que tarda es la copia del
archivo, puede que tengas algún tipo de problemas con la red en esa
máquina...

En cualquier caso, no soy un experto en SSIS, tal vez ese componente tenga
algún bug. Pregunta en el grupo correspondiente para ver si alguien te puede
echar una mano

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:
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!!


Respuesta Responder a este mensaje
#2 José Daniel
28/04/2009 - 16:15 | Informe spam
Gracias por responder Carlos.
Si, lo hago con los mismos datos que en el servidor de produccion.
Las tareas que empiezan a degradar son los scripts net y la copia de
archivo.
cuando el script le llega al motor lo resulve rápido, el problema es que
tarda en llegar.
Descarto problemas de red porque si fuera esto lo ejecutaría lento en
diseño.
Lo que me falta probar es ejecutar en diseño en el mismo server donde guardo
el paquete, pero sería solo una prueba porque no veo prolijo ejecutar de
este modo
en producción.
Gracias de nuevo, cualquier sugerencia es bienvenida. Saludos.-
Respuesta Responder a este mensaje
#3 Gustavo Larriera
28/04/2009 - 21:46 | Informe spam
Es sensato imaginar que en su máquina de desarrollador todo andaba bien
porque no habían transferencias de archivos entre servidores?

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:

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!!



Respuesta Responder a este mensaje
#4 José Daniel
29/04/2009 - 18:31 | Informe spam
Gracias gustavo, mm pero creo que no.
Cuando se ejecuta en la maquina del desarrollador, realiza los mismo
movimientos
de archivos que desde el servidor.
De hecho hoy en día el paquete es ejecutado desde la pc del desarrollador
pero
se lo toma como productivo.
Como no encontré solución todavía (por ahora) se está ejecutando todos los
días de
esta manera.
Sí o sí llegan 10.000 archivos pdf diarios, que deben entrar al ssis,
ser registrados en una base, corregir nombre y acomodar en subcarpetas.
La transferencia de archivos no es entre servidores sino en un mismo
servidor
pero se acomodan en distintas carpetas.
Llegan en un solo directorio y el ssis se encarga de moverlos a una carpeta
diferente del mismo server.
El ssis se aloja en un servidor distinto que es donde está la base que
registra
cada entrada.
Saludos...
Respuesta Responder a este mensaje
#5 Gustavo Larriera
29/04/2009 - 18:47 | Informe spam
Interesante problema.

En el foreachloop entiendo que usted ha descartado que la demora sean los
scripts SQL o los assemblies .NET

Queda por detectar si la demora es en el File System Task que mueve los .pdf
entre carpetas (en el mismo servidor) o tal vez la demora sea al hacer el
loop.

Puede usted medir en esos puntos?

Adicionalmente diga qué versiones/ediciones y service pack de SQL Server hay
en la máquina de desarrollo y en el servidor?


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:

Gracias gustavo, mm pero creo que no.
Cuando se ejecuta en la maquina del desarrollador, realiza los mismo
movimientos
de archivos que desde el servidor.
De hecho hoy en día el paquete es ejecutado desde la pc del desarrollador
pero
se lo toma como productivo.
Como no encontré solución todavía (por ahora) se está ejecutando todos los
días de
esta manera.
Sí o sí llegan 10.000 archivos pdf diarios, que deben entrar al ssis,
ser registrados en una base, corregir nombre y acomodar en subcarpetas.
La transferencia de archivos no es entre servidores sino en un mismo
servidor
pero se acomodan en distintas carpetas.
Llegan en un solo directorio y el ssis se encarga de moverlos a una carpeta
diferente del mismo server.
El ssis se aloja en un servidor distinto que es donde está la base que
registra
cada entrada.
Saludos...



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida