Eli Zaretskii wrote:
> "git pull" takes a minute or so, and "git push" already took 10 min
> and is still not done...
>
> Could someone please look into this?
TL;DR: I have implemented an http redirect for HTTP protocols from the
primary machine to the mirrors. ssh:// and git:// remain.
Details:
I guess it is time. I can't put it off any longer. I was trying to
"sneak up" on things by pushing more work off to the mirror systems a
little bit at a time. And now it is time to push the rest off to the
mirrors too. We must redirect the rest of the FastCGI processes off
to the mirror systems if we want to keep it viable for member commit
access. The solo primary simply can't handle the http botnet traffic.
We must move to the scaled-out mirrors for all of this processing.
These HTTP redirects have been created.
http://git.savannah.gnu.org/ -> http://http.git.savannah.gnu.org/
https://git.savannah.gnu.org/ -> https://https.git.savannah.gnu.org/
http://git.savannah.nongnu.org/ -> http://http.git.savannah.nongnu.org/
https://git.savannah.nongnu.org/ -> https://https.git.savannah.nongnu.org/
http://git.sv.gnu.org/ -> http://http.git.savannah.gnu.org/
https://git.sv.gnu.org/ -> https://https.git.savannah.gnu.org/
http://git.sv.nongnu.org/ -> http://http.git.savannah.nongnu.org/
https://git.sv.nongnu.org/ -> https://https.git.savannah.nongnu.org/
We have already had the following redirects in place. (I reproduced
these by typing them in. The actual configuration has been tested.
This email message not so much. Errors might exist.)
http://git.savannah.gnu.org/gitweb ->
https://gitweb.git.savannah.gnu.org/gitweb
https://git.savannah.gnu.org/gitweb ->
https://gitweb.git.savannah.gnu.org/gitweb
http://git.savannah.gnu.org/cgit -> https://cgit.git.savannah.gnu.org/cgit
https://git.savannah.gnu.org/cgit -> https://cgit.git.savannah.gnu.org/cgit
http://git.savannah.nongnu.org/gitweb ->
https://gitweb.git.savannah.nongnu.org/gitweb
https://git.savannah.nongnu.org/gitweb ->
https://gitweb.git.savannah.nongnu.org/gitweb
http://git.savannah.nongnu.org/cgit ->
https://cgit.git.savannah.nongnu.org/cgit
https://git.savannah.nongnu.org/cgit ->
https://cgit.git.savannah.nongnu.org/cgit
http://git.sv.gnu.org/gitweb -> https://gitweb.git.savannah.gnu.org/gitweb
https://git.sv.gnu.org/gitweb -> https://gitweb.git.savannah.gnu.org/gitweb
http://git.sv.gnu.org/cgit -> https://cgit.git.savannah.gnu.org/cgit
https://git.sv.gnu.org/cgit -> https://cgit.git.savannah.gnu.org/cgit
http://git.sv.nongnu.org/gitweb ->
https://gitweb.git.savannah.nongnu.org/gitweb
https://git.sv.nongnu.org/gitweb ->
https://gitweb.git.savannah.nongnu.org/gitweb
http://git.sv.nongnu.org/cgit -> https://cgit.git.savannah.nongnu.org/cgit
https://git.sv.nongnu.org/cgit -> https://cgit.git.savannah.nongnu.org/cgit
Additionally I added more restrictions on the raw path which I am
going to avoid mentioning because I don't want more crawlers to be
scraping it. But blocking more while still allowing git clients to
clone from it.
The git:// git-daemon is as yet still running on the solo primary.
It's not a candidate for scraping and so has not been the main problem.
The effect of this is that the primary system will not be processing
any FastCGI processes at all but will be redirecting those to the
mirror systems. The primary is still needed to generate the
redirection when using those paths however.
This will leave the solo primary with more resources for the handling
of ssh:// member access as it has been doing. The heavy processes
will be redrected.
Bob