Yang dimaksud dengan parallel processing adalah melakukan beberapa proses secara simultan (bersamaan). Dalam SSIS yang terdiri dari package-package yang berisi data flow task-data flow task,proses migrasi data yang besar adalah suatu tindakan yang tidak efisien bila kita tidak memanfaatkan banyaknya jumlah prosesor yang ada di server database kita. Untuk itu parallel execution ini sangat penting dan perlu dilakukan.

Ada beberapa cara untuk melakukan tuning terhadap package SSIS yang kita buat diantaranya adalah dengan mengatur properti MaxConcurrentExecutables yang ada di package dan EngineThreads yang ada di masing-masing data flow task.

MaxConcurrentExecutables

Adalah properti pada package SSIS yang berisi jumlah maksimum task yang bisa berjalan secara simultan. Default nilai MaxConcurrentExecutables ini adalah -1, yang setara dengan jumlah prosesor fisik atau logis ditambah 2. Jika kita men-set nya sesuai dengan jumlah flow task yang ada di dalamnya, maka bisa dipastikan eksekusi data flow task tersebut akan memakan waktu yang lebih sedikit (lebih cepat).

Pada contoh package SSIS di bawah, kita akan men-seting MaxConcurrentExecutable menjadi 4.

maka ketika eksekusi dilakukan, package diatas akan diproses per 4 flow task, seperti gambar di bawah .

Catatan :

Jika SSIS berjalan di atas sebuah dedicated server dan disana banyak proses yang dieksekusi secara paralel, tetapi jika bukan sebuah dedicated server, mengurangi nilai setting akan menghindarkan dari kesalahan (error) dan mengabaikan konflik antar resource.

EngineThreads

EngineThreads adalah properti yang ada di masing-masing Data Flow Task. Properti ini mendefinisikan berapa banyak thread yang bisa diproses dalam satu waktu secara simultan (paralel).

Nilai EngineThreads ini secara default adalah jumlah prosesor server ditambah 2. Jika server database memakai 8 prosessor, maka nilai default dari EngineThreads adalah 10.

 

Sumber : http://ssis-2008.blogspot.com/2010/08/parallel-processing.html