Dear Andrew.
I faced similar problems when we deployed our first instance of DSpace and I
was also quite confused so as to what is wrong.
Perhaps most important question is, if you are using pm2 with several nodes.
When I was deploying it, performance did mention it, but we weren't using it at first.
You certainly need it (pm2 starts several nodes, so frontend is served from
multiple threads, not just one).
Also having anonymousCache set to 0 is probably the issue. I tuned it for some time,
but certainly use at least 10, so that some requests are much faster and your server
does not get clogged up, therefore slowing every load.
If you needed to set it to 0 in order for everything to work, there must be some other,
worse problem. Perhaps insufficient memory?
Also, your server spec seem to be too low. It seems SSR requires much "bigger" server.
We are using 15 cores, 32GB RAM and it is about fine (10 cores were ok, but not when
there were long imports of many items running etc.) Yes, it requires much more resources
than previous versions, but that simply seems to be the case...
I am no expert, so far I only deployed one instance, but I learned a lot with it, at least
compared to what I knew before. (If I wrote anything inaccurate I am sorry, anybody
that knows better, please correct me.) But I know I was quite desperate and I hope
this can help you a bit.
To reiterate, most important things (in my opinion) are:
1. Make sure you are using pm2, without it it will hardly ever work well (and fast enough)
2. I suppose your server specs are insufficient.
Best regards,
Majo