Background:
Veeam was installed many years ago here in our environment by a previous employee and everything has always worked perfectly for us until I started digging.

Adjustments:
I started with NIC configurations on the hosts and quickly turned back to job details. I found our jobs were running in NDB mode and that HAD to be the problem. I experimented with Hot Add and Direct SAN and found them both to be about the same speed but decided to stick it out with Direct SAN to avoid the disk mount times. I added a second NIC (vmxnet3) to my veeam server and isolated him to the iSCSI network. I also isolated all in-guest mounted LUNs to that same adapter and I have confirmed that traffic is sticking to that adapter.
Next change was to change job Storage details as they were set to compression High and storage optimizations were set for WAN. Our original backup target repo was over a 1GB fiber link and the original guy I guess didnt trust this. I have built a SAN local here now as the new repo with backup jobs running to old repo over 1GB line, so I adjusted the main jobs to Optimal compression, and Local Target for storage optimization. STILL NO BACKUP SPEED DIFFERENCE! I created some new jobs and I found on the first full, I could hit 50-70MB/sec which is about my cap for my target repo (7k RPM disks for now) and I was seeing routine IOPS of 1200, which is about right at full write. However as soon as my jobs go to incrementals, they slow back to 3-7MB/sec for the duration of the job.
Support advised killing application aware image processing to speed the differentials up, which it did but only by about 5-8MB/sec which is not worth it for us. They turned up maximum concurrent tasks to 4, still no difference. We did however create a new job (old ones were modified clones) and let it do a full. The on the reverse incremental it was able to still pull 20-30MB/sec and the old original is stuck at 7MB/sec but I dont know if that is because it is only a test job and has only run an incremental 1 time vs the other job has been running for about 2 weeks.
Support basically dropped me off because they couldnt figure this out and I had more suggestions than they did from hard core digging for days through this forum and through many posts on blogs and spiceworks including VMworld presentations. Any help at this point would be AWEESOME!
Noted Performances
I have witnessed the job for exchange and several other of my VMs sitting there, pushing data at 700KB/sec (NO JOKE) for over 30 minutes, while the processor is at 30%, ram 55%, network at 1%!!!!!!!!!!! I checked in VeeamONE and the write latency of my target is 12ms, read latency of source is 2MS. During this backup slowness, I decided to bench my target NAS HARD and see if there was something going on deeper behind the scenes. Nope, a 4GB read/write test over iSCSI reported 100MB/sec read and 92MB/sec write WHILE the backup was stalling. WHAT GIVES?????
My Environment:
Source SANs:
Nimble CS series with 10gb links
HP Lefthand with 1gb agg'd links
Target SANs:
local backup is FreeNAS 9.2 latest build, hardcore tested and hardcore stable so dont even try blaming that please. It has been rebuilt over 6 times trying various methods and it is rock solid on HP gear. Its draw back are its 7K SATA disks and 1gbe card. Ill address the card when I get 15K SAS drives in it. For now, I can chunk data at it at over 96MB/sec on sequencial writes, and about 115MB/sec sequencial reads on 1000mb sizes.
Offsite is Nimble CS series, 10gbe links.
vSphere Environment:
keeping it simple for now, Im only referring to 1 cluster. All jobs suffer but lets keep it simple. HP C3000 blade chassis with 4 physical hosts. last host installed this year, 24 cores, 256gb ram, all 10gbe. We upgraded to 5.5 recently but job performance has not changed.
Veeam:
7.0.0.839
I do understand there is a patch but seeing how this has been going on for a very long time, I dont believe a patch is going to be my end all to this problem. I will apply the patch if troubleshooting requires though.
Veeam is running as a VM. all target repos are presented as datastores to the cluster and presented to Veeam VM as drives (individual vmdks) and he formats the vmdk as NTFS with 4K blocksize in windows 2008 R2. (I have read this could be a bottle neck, as it is preferred to do 'in-guest' presentation of LUNs to veeam?)
I appreciate any help and advice and I can post numerous screen shots and whatever else may be needed. After reading entire manuals and countless posts/blogs, I know my way around quite well now but am totally stumped on tthe continued poor performance of our environment.