SSIS :Parallelism in ssis
Advantage of Parallelism in ssis
1. Parallelism is ssis : Parallel Execution improves performance on Systems that have multiple physical or logical processors. For this SSIS uses two properties: MaxConcurrentExecutables and EngineThreads.
The MaxConcurrentExecutables property is a property of the package. This property defines how many tasks can run simultaneously; by specifying the maximum number of SSIS threads that can execute in parallel per package. The default value is -1, which equates to the number of physical or logical processors plus 2
The EngineThreads property is a property of each Data Flow task. This property defines how many threads the data flow engine can create and run in parallel
Simple Usecase , where I have implemented Parallelism.
I am taking simple work flow which I have implement in my requirement .
Need to call the web service with the values in each row of the FinalObjects table.
For example : if the FinalObjects table contains 50 rows we need to call the web service 50 times .
Normal implementation : we need to assign the values to the variables from FinalObjects table based on iterator value in for each loop and then call a web service task with parameters as the above variables. And then Audit those values into another table .
The total process time for the above task is 2 min 46 sec and complete package takes 2 min 52 secs
Solution :
As records are independent and these tasks can be done separately ,so I have used the parallel process to reduce the time of processing . The default value for MaxConcurrentExcutables is -1 which is enough for my Case as iam using only 2 parallel tasks .
1 st parallel task take care of 1st half of the records of finalobjects table and 2 nd parallel task take care of 2nd half of the records of FinalObjects table.
By making the process parallel , the total time taken for above task is is 1.26 mins
And complete package is 1.33 mins
Conclusion :
If you have N number of parallel process and total time taken by sequence process is M then by implementing parallel process the total processing would be approx M/N
Comments
Post a Comment