Also just to add, that you need to consider how much you are writing to CRM and how large your mapping is. I am in the middle of a data migration and have some mappings that do multiple look ups and inserts / update. Those ones do have smaller per second records processed. The one mapping that I just had finish did 6.1 records per second and all it had was a query from source and a create for CRM. There was also no transformations being done.
The other piece to consider if your source and where the agent is installed. Yesterday, the client I am working with was having network issues and my map's where running slow because of the network problems of the source network, where my SQL source was located. This morning, the network is a lot strong and running faster.
Just want to add that there is a lot that needs to be considered when trying to increase performance.
Another thing to look at is if your lookups are returning the same value (i.e. lookup to the default currency) cache the result of the lookup. This way SCRIBE doesn't have to perform the lookup each time.
If anyone posts an answer that helps you, please mark the post that answered your question as the answer. Thank you.