If you determine that you don't have a source or target bottleneck, you might have a mapping bottleneck. Use thread statistics and Filter transformations to identify mapping bottlenecks.
To identify mapping bottlenecks, complete the following tasks:
Read the thread statistics in the session log. When the mapping spends more time on the transformation thread than the writer or reader threads, you have a transformation bottleneck.
Add a Filter transformation before each Target transformation. Set the filter condition to false so that no data is loaded into the target. If the time it takes to run the new mapping task is the same as the original mapping task, you have a mapping bottleneck.