I have 2 sites. Site1 with 2 DCs and Site2 with 1 DC.
If I create a new user on Site1 the 2 DCs replicate the user instantly.
The Site2 DC doesn't get the new user replicated to it until some time afterwards. I had a similar issue before, which I solved (on another Domain) by making the servers Preferred Bridgehead Servers
.
Is this the right thing to do? Or is there another way to improve the speed of replication?
You should NOT set the Preferred Bridgehead Servers. It will not help to speed up your intersite-replication and will also make the infrastructure much less safe, as it removes some failover capabilities.
It sounds like things are working as I would expect. Intersite (across sites) replication between Domain Controllers occurs at a different interval than Intrasite (same site) replication. Intersite replication by default occurs every 180 minutes. The KCC (which is responsible for building the replication topology) will build the optimal replication topology between and within sites. Manually designating one of the DC's at the local site as the preferred bridgehead server isn't going to change the replication schedule or interval, it's only going to change which DC is responsible for replication between the sites. My suggestion would be to do one of the following:
If you have high speed links between the sites you can adjust the replication interval to a more suitable period. 15 minutes might be a good start.
Force replication via Active Directory Sites and Services whenever you make a change that you'd like to replicate immediately.
When you create a user that exists in the remote site, create the user in Active Directory Users and Computers from the remote DC.
http://technet.microsoft.com/en-us/library/cc728010(v=ws.10).aspx
http://technet.microsoft.com/en-us/library/cc759160(v=ws.10).aspx
http://technet.microsoft.com/en-us/library/cc737986(v=ws.10).aspx
http://technet.microsoft.com/en-us/library/cc779337(v=ws.10).aspx