I would suspect it is something with the network. Perhaps you could try to look at the network traffic using some tool like e.g. WireShark on both machines. Then you could try to track a message and see when it is sent and then on the other machine see when it was retrieved. And then you will see if the delay is in the network.
Another option is to use a different event provider than WCF (TCP or UDP). Out of the box EPiServer has three providers, WCF, Azure Service Bus and Amazon SNS. But the event provider api is quite simple so it should not be that hard to write one that uses e.g. ServiceBus running on windows (see http://www.neudesic.com/blog/get-started-service-bus-windows-server/)
After following Fredrik Haglund's excellent post concerning remote events and publishing content, i've gotten it to work in a server setup that looks like this;
Staging environment - edit.mysite.com
production environment - mysite.com
Editors use the staging environment to push content to the production environment, but the issue is that we have a delay of maybe 10-20 seconds for a change to show up in the production environment. Everything works as intended, but the delay is really frustrating. Where should we start debugging? A little more specifics regarding each server;
- Each server has about 9 sites, that means 9 edit.mysite.com and 9 mysite.com with different cultures
- All the sites points to the same database, located on a separated machine. Same with the AppData-folder, also located on a separate machine
- Multiple firewalls between them with specific ports allowed for the remote events
What could be causing this delay? Thanks!