In the previous post I have covered the MaxConcurrentExecutables property in SSIS Parallel processing. In this post, which is continuation to the previous post, I will cover EngineThreads property
Where can I set the EngineThreads property?
EngineThreads property is available with each dataflow task.
As per MSDN BOL it is “An integer that specifies the number of threads that
the data flow task can use during execution” which actually means number of
threads that can run parallel in dataflow pipeline. To set the value for this
property right click on the dataflow task and select properties, in the Misc
section you will find EngineThreads.
In the above screen shot you see the value of 5 which means 5 Engine threads can run in parallel.
Note: EngineThreads governs both Source threads and Worker
threads.
What is difference between source threads and worker
threads?
Source threads works on source components in the data flow and
the worker threads works on transformations and destinations.
If an Engine thread governs both Source threads and
Worker threads what does EngineThreads value 2 implies?
A value of 2 for engine thread implies that up to 2 source
threads and up to 2 worker threads.
In the above screen shot we can observe that records are
being pulled from the source (source table has 1 million+ records) [by source
thread] and at the same time we can observe that rows and passed out of look-up transformation
[by worker thread]. This clearly depicts that for a value of 2 EngineThreads has
resulted in 2 source and 2 worker threads that are running in parallel.
If my EngineThreads property is set for 2 and there are dependent paths in the data flow how does this work?
As explained EngineThreads property
will be 100% utilized provided there are independent paths. If there are dependent paths EngineThreads will be used where ever possible. In the below
screen shot we can see that there is one source and multiple transformations
and destinations. Since there is only one possible source only one source thread
was created and 2 worker threads are created
No comments:
Post a Comment