That topic was mostly about a number of N+1 queries that we had on that route, which are all fixed now.
The profile page does have some heavyweight queries since it does output a very personalized and complete summary of the user, but a reasonable sized database should be able to render it in under 500ms.
That is a big database for a small VM. Are you running everything in the same VM (Web+DB+Redis) ?
Are you running latest PostgreSQL 13? Can you try to run the optional performance tasks described at PostgreSQL 13 update, both the vacuum
and the reindex
?