I'm working with a JDBC connector and I'm synchronising UNSAccountBInUNSGroupB with a target table of similar structure. I have around 18k records to process - right now I'm just reading them in.
My high level understanding of the sync engine is that it will fetch all objects, run through matching, then generally will run a get single object on each record to get the full property list. My mapping is fairly simple, I have two key resolutions which resolve UID_UNSAccountB and UID_UNSGroupB to their relevant ObjectGUIDs, and they are then mapped direct to the target fields which accept those GUIDs.
I've noticed that my sync is taking around 30mins to complete and have noticed also that fetching a single object via the target system browser takes roughly 100ms. While I know the target DB is performing poorly (I will look into that with the owner), is there a way I can force the sync engine to pull the full object and property list up front, thus eliminating the need for single object reads. If I could do this, it would only take a few seconds to get the full object list rather than ~30mins (18k * .1 / 60).
I've tried playing with some of the advanced settings on the schedule (particularly upping the reload threshold for properties) and also extended settings on the workflow step (upping performance/memory factor to use more RAM) which I was hoping would do the trick. Looking at the memory usage of the job in the job server UI (executing instance view) the memory usage behavior appears the same no matter the settings.
All of that said, I'm after help/guidance on how (or even if at all) I can guarantee single object reads do not occur - or at least drastically reduce them.