From an architecture point of view I wonder what makes the clients slow.
It seems maybe some of the fetching of events wait for all relays to check in. Bad or sub optimal timeout mechanism if a relay is too bogged down?
I suppose I could just TRY to read the code. Maybe cache is just king in a lot of these cases.