

Servers of Hacker News - euphemize
http://ls.pwd.io/2013/07/servers-of-hacker-news/

======
rzendacott
It was down for me, here's the cache:
[http://webcache.googleusercontent.com/search?q=cache%3Als.pw...](http://webcache.googleusercontent.com/search?q=cache%3Als.pwd.io%2F2013%2F07%2Fservers-
of-hacker-news%2F&oq=cache%3Als.pwd.io%2F2013%2F07%2Fservers-of-hacker-
news%2F&aqs=chrome.0.69i57j69i58.1651j0&sourceid=chrome&ie=UTF-8)

~~~
andrewmunsell
Which seems a little bit ironic, if you ask me. Anyone know what server
software the OP is running?

~~~
martinml
WordPress:

    
    
        http://ls.pwd.io/wp-content/...
    

I still don't understand why they don't have a cache system by default.

~~~
justinsteele
Wordpress is a CMS.

------
robbles
10 websites are actually running WEBrick in production. Nice.

~~~
fusiongyro
Only 13 people using Lighttpd. I remember the week and a half when that was
the preferred deployment platform for Rails. That was a while ago.

~~~
bigiain
I suspect that might be under represented by people using Lighttpd for serving
static content, with something else like Apache serving the main page html
(Ive got a bunch of clients in that configuration with WordPress running on
Apache, and all the images/css/js/etc coming out of Lighttpd.)

~~~
scott_karana
That should also be true of nginx, but it's pretty well represented now.

~~~
paraboul
nginx is not only good a serving static file but is a (one of the most?)
common reverse proxy server.

------
seldo
That's still more instances of IIS than I was expecting. Who uses it? Is it
still as awful as it was the last time I fought with it 5 years ago?

~~~
kogir
IIS 7.5 and 8 are actually really good, and among the best to interact with
programmatically. You can write the equivalent of nginx modules in C#, and
even implement custom framing and protocols.

~~~
harrytuttle
Hmm. As someone who's had to run a massive IIS cluster over the last 3-4
years, I disagree. It's obtuse, unreliable, incredibly overcomplicated and
regularly just fucks you because it can.

Some things that are utterly broken that really shouldn't be that have cost me
literally DAYS.

1\. Using IIS ARR to proxy subversion = hell. The moment someone requests a
web.config file from the back end SVN server via the IIS front end, it shits a
brick. You have to piss around in the applicationHost.config to fix this.

2\. It knackers XML encoding transparently inside ARR somehow resulting in
clients losing requests as they come down as application/octet-stream rather
than what you sent them as. This breaks lots of clients randomly.

2\. Wildcard SSL domains i.e. star.whatever.com. If you delete one site
instance, it kills all the others completely dead and you can't re-add the
certificate on the others: you have to create new site instances again from
scratch. Workaround: stop a site instance and leave it there to rot forever.
That's fine but we can have up to 100 instances on a cluster.

3\. Thread reuse. Each module (in integrated mode) can run in a different
thread so it knackers thread local variables like the current culture and
identity system in .Net. This is an absolute fucker to debug as it only
happens under heavy load and is barely documented.

4\. Sometimes servers in our cluster randomly just stop for a few seconds for
no apparent reason (7.5 on 2008 R2). Our phones start ringing then. We've had
Microsoft working on a fix for over a year and even they can't work out why
it's happening. They admit it is IIS that is doing it.

5\. Deployment hell. You're supposed to be able to just "xcopy" deploy
everything because it uses some mish-mash of shadow copies but occasionally
this screws up and leaves an older dll in the ASP.Net Temporary Files folder
which means your site suddenly has broken code contracts everywhere and your
site goes down big time with YSOD (as even the error pages fall over) until
someone fires up the magic "fix it quick" powershell script which cleans out
all the crud, redeploys and restarts the cluster. That's fine but we have 16
front end IIS servers and 80 million requests a day so this means trouble for
us.

6\. IIS Express and Visual Studio integration is just shit. It doesn't work
with source control software at all leading to constant problems when people
do updates. The only solution is to shut everything down, delete the
IISExpress directory in your documents folder and try again.

7\. The whole dynamic vs static thing falls over when you have a module which
rewrites static URLs. Everything has to run through the dynamic then. The
coupling internally for features like this is terrible.

It's stuff like that which means it's still a broken pile of crap that I hate
more and more every day.

For reference, we moved ALL of our development stuff over to an Apache
mod_proxy setup with LDAP / AD integration and _it just works_. We'd love to
do it with the front end but we can't for obvious reasons...

------
relaxitup
When I read the title, I thought this article was going to attempt to glean
the webserver type/versions of all the servers in the hacker news Web cluster
(if there is one).. That would be kind of interesting actually.. If not to
only see if they keep them all at the same version/OS/updated etc. you could
do this same thing on any one big site over time and the results could be
interesting.

~~~
shiftpgdn
PG has stated in the past HN runs on a single, well tuned server at
IBM/Softlayer/ThePlanet. Citation:
[https://news.ycombinator.com/item?id=5229364](https://news.ycombinator.com/item?id=5229364)

~~~
harrytuttle
Although most of the tuning appears to be to prevent people from using it

"we've limited requests to this page"

For example...

------
fsiefken
Judging from the title of the article I was hoping to get an overview of the
HN server infrastructure and software.

~~~
imdsm
Me too. You can find _some_ stacks here ([http://leanstack.io/cloud-
stacks/](http://leanstack.io/cloud-stacks/)) but HN isn't on that list.

------
raldi
Wow, there wasn't a single reddit link all month?

~~~
nostromo
I had to go look what server header reddit returns. For the lazy:

Server:'; DROP TABLE servertypes; --

~~~
throwaway1979
I'm not logged in. I see:

Server: AkamaiGHost

------
joyinsky
Not a single Cherokee server :(: [http://cherokee-
project.org](http://cherokee-project.org)

~~~
Argorak
After trying to help a friend to make Cherokee, Rack and Shotgun (yes, he
insisted on reloading using shotgun) work together, I abandoned the server as
"ungoogleable".

~~~
mrweasel
Yep, it's just to hard to get help. Perhaps because it's easier to just post a
config snippet for Nginx or Apache that having to take a bunch of screenshots.

------
sbierwagen
39% apache! Amazing.

Also interesting is that nginx 1.5.x doesn't appear once. Upgrading bbot.org
to it last month was a ridiculous ordeal, but you'd figure at least one other
site on the front page of HN would be running nginx mainline.

------
ericcholis
So, who's running their site off an astromech? Bottom of the "Other" list.

------
elchief
Minor quibble: Apache Coyote is Tomcat and not HTTPD

------
pocketstar
"Error establishing a database connection"

------
Raphael
New Hampshire?

------
EugeneOZ
cloudflare-nginx can be moved to "nginx-all versions" i think.

------
dota168
github.com server?

~~~
Fomite
GitHub hosted blogs I presume.

~~~
imdsm
gh-pages / github.io

------
mumbi
I would be curious to see the percentage that doesn't allow that information
to be retrieved, if that's a possibility.

