2011-06-15 28 views
5

Hice una prueba de concepto para una transformación compleja en SSIS. Ahora tengo métricas de rendimiento para este POC que creé en una máquina virtual, con 1 gigas de memoria, 1 núcleo asignado. Las transformaciones de SSIS están basadas en archivos (origen y destino).¿Cuántos núcleos para SSIS?

Ahora quiero usar esta métrica para elegir la cantidad correcta de núcleos y memoria en el entorno de producción.

¿Cuál sería la estrategia correcta para determinar la cantidad correcta de núcleos y memoria para producción si sé la cantidad de archivos por día y la cantidad total de tamaño de archivo por día para transformar?

(corregir) ¡Piense en los tamaños de transferencia totales de 100 gigabytes y 5000 archivos por día!

Respuesta

1

Te gustaría hacer otros dos puntos de referencia: 2 GB mem, 1 core y 1 GB mem, dual core. Tomar una instantánea de un entorno bastante pequeño es difícil de extrapolar sin un par de puntos de datos más. También, con solo 1GB de RAM, también querrás asegurarte de que el servidor no se quede sin memoria y sin paginación en el disco (lo que sesgará las cifras un tanto, ya que todo depende del acceso al disco, y se te ha dado a ti). Ya estás leyendo del disco de todos modos ...). Así que asegúrate de saber lo que está sucediendo allí también.

SSIS intenta almacenar tanto como pueda en memoria para la velocidad, así que más memoria siempre es buena :-) La pregunta más importante es qué beneficios le darán los núcleos extra.

1

Existen varias áreas de rendimiento. Uno es el número de núcleos. Cuantos más núcleos tenga, más trabajo en paralelo se puede hacer. Esto, por supuesto, también depende de cómo construyas tu paquete. Ciertos objetos son sincrónicos, otros son asincrónicos. La memoria también es un factor, pero está limitado a 100MB/componente de flujo de datos.

+0

¿Puede explicar por qué hay un límite de 100mb/componente de flujo de datos? ¿Tiene alguna referencia que indique esto? –

+0

http://msdn.microsoft.com/en-us/library/ms141031.aspx –

+0

Tenga en cuenta que la memoria utilizada por el componente está limitada solo para componentes síncronos (transmisión). Asíncrono (ordenar, agregar, etc.) puede consumir más memoria. – Michael