I experienced a slowdown in Git pushing when I push to more than one server.
I propose:
Run push to several servers in parallel.
Not to mix the output, nevertheless serialize the output, that is for
example cache the output of the second server push and start to output
it immediately after the first server push is finished.
This approach combines the advantages of the current way (I suppose it
is so) to serialize pushes: first push to the first server, then to the
second, etc. and of my idea to push in parallel.
I think the best way would be use multithreading, but multiprocessing
would be a good quick solution.