We have a service that based on a local timer does a GET request to our server on Azure to transmit some information to be saved on the server. At this stage we are only testing and we are finding that some of the clients are synchronizing so they hit the server at the same time. This seems to be caused due to delays within the azure infrastructure (long story behind that), for example the database is unavailable for a minute or so. This causes the clients to synch up.
So the obvious answer for us is to introduce some randomness into the clients timer to ensure a reasonably even distribution on our server as the issue is when we go live it will kill our server if lots of clients are synchronized.
How much randomness is required to ensure the even distribution? Searching turns up lots on synchronization (esp. java) but not tips on the anti-synchronization.
The question comes in two forms: a) What is the correct terminology for this problem so that I can find either the right domain terms to get the theory behind this> b) Tips on how to define the amount of randomness other than just guessing and setting up elaborate trial and error testing.
Any help appreciated.