From the outside, I don't see the problem. The sites I visit, including LWN, never seem slow or have downtime as a result of this increase in traffic. I hear complaints from people hosting small sites, but they never seem to include concrete examples of downtime or measurably bad user experience. Why does it matter if the server load is high if everything stays functioning? Going from 5-20% to 60-80% load hardly seems like a catastrophe to me when the remaining headroom was not going to be used for anything else. Having your data that's public-enough to be scraped/cited/parodied/ridiculed included in a training set also doesn't seem like a problem. Are they struggling to pay bandwidth usage bills? Is there some actually-necessary intervention required to keep things running smooth, as opposed to panicking and taking unnecessary preventative action?
I am hard put to defend reddit and a lot of the things they do ... but I can attest, from personal experience, that scrapers are a huge problem for anybody trying to keep a complex site working. Withholding the display of the comments will significantly reduce the database traffic needed to satisfy a request; I can see why they would want to do that for anonymous readers.
Well Reddit would have a lot less scraper traffic if it hadn't shut down the feed API 3 years ago in an attempt to keep its data closed and only distributed to Google (which paid money for it). Self-inflicted. No sympathy.
There was a whole mini-industry around scraping specifically Reddit using the API feed because it was so open. AI companies first trained on Pushshift, which is like Common Crawl for Reddit, which is why Reddit shut down Pushshift (with legal threats IIRC) at the same time.
If there were a well-known URL that retrieved all content added to a site after a given date, and a meaningful number of sites implemented it, I bet the biggest scrapers would use it.
Except, of course, that then sites would start lying and sending abridged, poisoned, or nonexistent data.
Nice things cannot be had, no matter how many levels you go down.
I don't understand why sites like reddit need to do any work on (unauthd) GET. They are not instant messaging platforms, they are forums. You can live with a ~1-2-5 minute delay on forums. So POSTs (from logged in users) append to a queue, and a worker does work at regular intervals, creates the HTML and that gets sent to a cache + distributed to a CDN if needed. There's no need to do work on unauthd GETs for a forum.
Agreed; we have a Linode VPS for some small WordPress websites and it was grinding to a halt after an AI crawler started iterating through every possible date in "The Events Calendar"’s URL structure, sequentially scraping calendar pages all the way back to like 1970. I'm sure that's partially my fault for not putting it behind Cloudflare or anything though.
The response to that should be to restrict the events calendar and similar dynamic functionality, not to restrict the 99% of users who are accessing what should be 100% staticly cached HTML.
Good idea; I'll make sure we have all random ?date=1970-01-01, ?date=1970-01-02, all the way to ?date=2026-07-22 URLs cached, even the ones that are 404s but the crawlers still try anyways. Thank you!
I know I'm not arguing with you personally here since it seems we both have a bone to pick with Reddit, but I don't understand why they can't use Anubis or whatever captcha thing I may or may not have seen on New Reddit. It irks me that they've decided they will keep hosting it (for now), but they're just going to close the gate.
And dang it, I swear to god they put in a 2s rate-limit on the page, which it seems they have left in after the transition (perhaps because it's being rolled out still, although they could be so kind as to not rate-limit me now that I've logged in). Was that all they tried??
> I don't understand why they can't use Anubis or whatever captcha thing I may or may not have seen on New Reddit.
This is just the first step in killing old-Reddit for logged-in users as well. It's too easy to use, they make more money with the enshittified new version.
Except comments are really the only reason to visit! Sharing cool links was already old with Digg etc.
Worst still, enshittified "new" Reddit will serve a page that claims to have your search terms in it, except the alleged result is buried behind an undetermined path of a tree of incremental "load more comments" button-links... and at some depth those silently switch to causing a whole page-transition to a subtree, and if you navigate back you'll find everything is collapsed/unloaded again and you can't tell which branch you were on before the interruption.
With classic Reddit, you just... `ctrl-f` for the term.
Very little of it. When you see a million IPs systematically working their way through your URL space, it's pretty clear that there's a central control node behind it all.
Your earlier article suggests you aren't using a CDN. Might be well worth looking into - not for any bot detection so much as just having a good old fashioned cache in front of you.
Caches only help for pages that have been requested recently. The behavior of crawlers - going from one page to the next across the whole site - will probably not be mitigated significantly by a cache.
It's an experiment. Compared to the text-obscuring popovers that are prevalent elsewhere on the net, it seems pretty low-key; as far as I know, this is the first complaint I've seen. I don't know if we will continue experimenting with those or not...better ideas for getting people to subscribe to the site would be more than welcome.
The kernel does not copy every page, but it does have to copy all of the VMAs. Setting memory to COW (which can involve changing a lot of page-table-entries) is not free either. I guess I could have mentioned copy-on-write explicitly, but I do not believe that what I wrote was incorrect.
I hate to blow our own horn, but I'm gonna...if you are interested in seeing this kind of kernel-development data mining, fully human-written, LWN posts it every development cycle. The 6.17 version (https://lwn.net/Articles/1038358/) included the buggiest commit and much surrounding material. See our kernel index (https://lwn.net/Kernel/Index/#Releases) for information on every kernel release since 2.6.20.
Thanks! LWN's development cycle reports are incredible and were actually an inspiration. The goal here wasn't to replace that kind of expert analysis but to show what becomes possible when you can just write SQL against the raw history. Your reports add the context and understanding that no database query can provide.
Being used to validate stolen card numbers has long been a problem; we've had to put in a number of defenses to fight our way off whatever list of "easy sites" these folks maintain. I hadn't thought about the "change card" path though...another bit of time spent away from what our business is really supposed to be doing...
reply