None of my guests have noticed this, and it has increased most of my analytics numbers as my pages are faster too.
The signed-in users, they get the dynamic pages.
But now the cookie that identifies the user is what you use to correlate any attack traffic, the attacker is forced to (somewhat) identify themselves and you can then revoke their authentication status or ban the account.
Finally you captcha and/or rate-limit the login page.
This is effectively what I do on my sites, the pages themselves and the underlying API all cache if the cookie or access token is absent.
This is trivial to do within the code, but can be harder to do with the CDN/security layer (who need to support a "vary on cookie" or "bypass cache on cookie" or equivalent).
You can imagine that for a real time service it would be better to provide a timeout immediately rather than providing stale data.
HN is an example of a near on-line site where some delay is perfectly acceptable. No one cares that they're receiving a 2 second old page, it's better for the site users to reveive old data fast rather than new data slow.
If you use nginx the following commands would help out significantly (if I remember them correctly)
proxy_cache_use_stale updating proxy_cache_lock on proxy_cache_lock_timeout 1s
This config allows nginx to fetch cache updates while serving clients and when fresh data is received from the upstream application server it'll use that immediately.
If that's wrong hopefully someone can correct the conf.
You can put the whole of HN into read only mode if needed and it'll have no real impact; disallowing purchases on MyAmazonCompetitor.com would be catastrophic.
Lots of people use page caching to speed up their website, but that's a mistake, since caching means stale data on dynamic sites. Caching should only be used to solve resource issues, not latency issues.
Your entire site should be fast already without caching. This comments page should only take a few milliseconds to generate. If it doesn't, then something's wrong with the database queries.
I will never understand how some sites take hundreds of milliseconds to generate a page.