I have only used Veeam for local replication and these experiences might not be relevant for you
This is what i have learned:
Have a plan for how much you are going to replicate and how often and size things thereafter. This is the same problem that occurs with some replication nay sayers that dig up an old server from the basement install Vmware on it and then conclude that virtualization is rubbish ... If you are going to replicate alot of servers all the time you need the hardware for it.
if you fix one bottleneck another one will always show up, stop at one point within reason or you will go mad

IMHO ... Never use hotadd, it's broken beyond repair for the time being. The problems are endless, but some are disks not disconnecting from proxy's, extremely slow replication speed, and extremely high IOPS on target SAN crippling the whole environment.
Network mode works well but in my opinion should be used for remote replication / backup or if you can't use direct SAN.
Direct SAN is really the best solution if you can use it, use NBD for writing because it's much faster and more stable than hotadd and as tsightler pointed out in a very long thread, 1 Gb/s link could me more than enough even if you replicate continuously because not much data is changed in the minutes between replication. If you have the need for more speed you should also have the budget to upgrade to 10 Gb/s. In other words, don't bother with bonding several NIC adapters together because you probably don't need it and you probably won't get it to work properly ... But if you want to read about it here you go NIC Teaming & Veeam v6
Don't use too much time trying to optimize storage if you don't have big problems, because there is almost no gain especially if your target SAN is Veeam exclusive.
Run Veeam Console and Enterprise manager on a separate server from the Proxy / backup server as it uses quite a lot of CPU and RAM.
If you upgrade to a new version and everything is very slow or if one vm starts replicating very slow delete the whole replica and start over.
The biggest problem i have been having is that the UI on the Veeam server was very slow in reacting to input and the server used a lot of time on what i call "paper work" meaning that it used a lot of time preparing, fetching data etc. and i don't mean creating snapshots. It turned out that these two problems where connected and related to problems with the database. One of the problems where that some indexes where missing in the database. Turns out that this is a common problem, but it doesn't really become a problem before you have a lot of information in the database like job and task sessions logs. Alexander at Veeam support helped me with this, and also in cleaning out alot of the old data.
In the end i cleaned out everything in the database older than two weeks because who needs to see what happend on a replication job several months back .... I also set the Veeam server to only retain job logs for 3 days.
Then i proceeded to clean out the Vmware database as well and in the end i reduced the size of the vmware database from 50 GB to only 5 GB and the Veeam database from 15 GB to about 1 GB for the Veeam database and Enterprise Manager together.
Now everything is screaming fast and .... almost react before i press the buttons

Remember to rebuild all tables and indexes after you shrink the database or it will be fragmented. Google it and you will find some SQL scripts for doing that.
On the subject of databases, remember to restrict how much ram SQL can use so that it doesn't use everything and leave nothing for Veeam.
I think that's all i have for now, it took a long time to get there but i think we are finally there. Thanks to Tsightler, Foggy, Vitaliy and Gostev for all their help. I hope i won't need it again
