A week ago, I found what I consider a bug in Audi’s cruise control functions. So I did what I always do, I whipped up a blogpost. On Monday, I submitted that post to HN, and it worked.
Hacker News
Within minutes of submitting of submitting to Hacker News, the upvotes started. It reached the frontpage in about 20-30 minutes, and it stayed there for the entire day.
The first few hours after submitting, it even got stuck at the very top of the page.
That was fun.
The Numbers
I then did what every normal geek does when he finds his post made it to the top of HN, I looked at my Google Analytics stats.
Not bad.
But I got a bit worried. Could my pretty little server handle this? I run SSL on this site and a pretty “default” WordPress. Luckily, I installed Wordfence which generates a static HTML version of each post, so it didn’t have to go through the PHP -> MySQL dance every single time.
HTTP req/s and bandwidth consumed
The CPU load was mostly running around 20-25%, and was taken up by Nginx. That means the load came from the SSL handling, not from PHP.
Around its peak, the server was happily pushing around 600 HTTP req/s.
And because the page consisted of 2 (non-optimised) images, it consumed a considerable amount of bandwidth as well. In about 30 minutes, my server went from 1Mbps to just short of 60Mbps.
In the longer run, you can see the peak very clearly and it starts to slowly diminish after 2 hours.
Thankfully, the server bandwidth is on the house. ;-)
Pageview statistics
In terms of actual pageviews, I feel I can’t complain. The post made it to 100 upvotes, which is about the average of an HN frontpage post.
It doesn’t come close to the 700+ upvoted posts obviously, those will get a multitude of this traffic.
The stats above show Google Analytics, which measured a total of 25.090 pageviews.
WordPress’ Jetpack plugin, which also does statistics, measured a total of 27.464 visits, which is shown in the image above.
If I look at the raw Nginx access logs, I count a total of 37.955 hits to that particular page. That includes bots, scrapers, link-prefetchers (like Reddit, Twitter, …), …
More than 60% of the browser share went to Google Chrome, with Firefox at 16%, Safari at 12% and IE taking less than 2% of the share. On HN, it’s obvious Chrome has won the war.
Internet Comments: YOLO
And besides a few dickhead comments, I feel the post did alright.
We’ll always have those.
I did relax, actually. Thanks for the advise!
Lessons learned
All in all, I’m very happy with the numbers.
I’m also happy I took the time to install a static HTML generator for WordPress, otherwise my server couldn’t have handled the load.
I should have optimised the images in the page (which are around 700Kb in size, each), if I took them down to < 100Kb each it would have saved 600% in terms of bandwidth consumed. I merely uploaded them to the server and embedded them, which was foolish. I also missed a few opportunities to lure that HN traffic onto other posts, I didn’t link to anything else and most of the exit traffic was on the same page. So my “marketing skills” need some more work. ;-)