I know I sound like a complete d--k, but my laptop from 2012 has eight cores that each run over 3 billion cycles a second. How do < 2000 comments make your servers more than blink? I'm guessing you have more than one server?
I get frustrated by sites not accepting HN's "hug of death". An now HN can't even stand its own hug...
Anyway, thanks for getting things running again! You guys are awesome!
We don't have more than one server and HN proper (not counting caches) runs on a single core.
Believe me, we hate slow software at least as much as you do and have put a lot of effort into addressing this. HN is a lot faster than it used to be on median load. It still falls short on excessive load. We'll get there!
Racket has green threads, which gives us non-blocking IO but that's about it. There's another concurrency mechanism that uses OS threads but Arc doesn't rely on it, and from the little I looked at, I don't think it would work with the HN software's design.
There are two parallelism approaches in Racket, both of which provide OS threads. The most useful one for web servers is called 'places', and is somewhat like Erlang -- you can only communicate immutable serializable data between different places, as well as OS resources like file handles. I know other people have used places to scale web applications, but I haven't looked at how HN's design would be affected.
If you have questions about using this, please feel free to email me about it.
Clearly, it depends on the architecture used. From what dang says, it seems like HN renders every single page view dynamically if you are logged in. I guess that has something to do with the voting mechanism; I would have thought that could be handled client-side instead.
Either way, it's not just down to the number of comments on a thread, as you imply, clearly the number of requests for that page plays a part. I'm guessing HN has been getting a huge amount of traffic, probably way more than your laptop could serve dynamic pages at.
True. But it could be a 'progressive dependency' - i.e. you could still do everything you can now without javascript, it would just be used to hide the voting buttons/links/whatever else is dynamic.
I know I sound like a complete d--k, but my laptop from 2012 has eight cores that each run over 3 billion cycles a second. How do < 2000 comments make your servers more than blink? I'm guessing you have more than one server?
I get frustrated by sites not accepting HN's "hug of death". An now HN can't even stand its own hug...
Anyway, thanks for getting things running again! You guys are awesome!