| ▲ | jagged-chisel a day ago | ||||||||||||||||
He’s still allowing for exactly 60s between executions. He’s saying stagger the startup by a random amount up to 60s. Then we get what we want every 60s, but they’re all just staggered a random amount. | |||||||||||||||||
| ▲ | vlovich123 a day ago | parent [-] | ||||||||||||||||
My bad. I misread it. Delaying the start like that does divide the thundering herd peak by 60. The point about c Rand stands. The other thing to watch out for is you’ve still got 1/60 of the thundering herd at the second level. If the tasks are <1s and you have enough of them (as you probably do at grid scale), then doing it finer grained is warranted like offsetting the timer by a millisecond sleep of 10 * uniform_distribution<int> between 0 and 6000. That then gives you 10ms granularity, distributing the workload by two more orders of magnitude. | |||||||||||||||||
| |||||||||||||||||