Sorry for double post, it should be blindly fast now,

.
Basically, fail2ban was not working correctly. I fixed that, then started digging deeper.
Turns out, ChatGPT was aggressively scraping site. Hitting site 800 times a second.
I have now added code to stop this. As a result of ChatGPT doing its thing, it caused log to grow to 163GB (which filled server).
I have now sorted all these issues.