Hacker Newsnew | past | comments | ask | show | jobs | submit | tahoecoder's commentslogin

Go to French Pass on the northern tip of the south island. It's a beautiful and remote spot.


Lots of people are misunderstanding that chartbeat figure. It's not 287 visits in a 45 minute window. These are visitors who are currently interacting with your site. Some are idle but most aren't.


Can you give us a more useful understanding of how many pageviews your site actually had? You only have three webpages. If we assume that for each visit the user visited all three of them and then further reloaded your home page twenty times, that's still fewer than one pageview per second.

As you had a spike to 282 concurrent visitors (four times your average), even under that unrealistic amount of reloading, that's less than four requests per second. (Again, really: one way to look at that figure is "in a 45 minute window"; I provide the broken-out math below to make it clearer.)


Not sure why I have to defend the number. I think any #1 post would see 287 concurrents. http://imgur.com/yfn9Dnd (look at the 30 day max). I was a little off, it was 282 concurrents.


It seems that there was good reason to challenge your numbers: you are using "concurrent users hitting my site" in a way that people in a website optimization context would not ever expect. This screenshot is talking about "concurrent visits", and has a figure for the average time that users were "engaged" (over 45 minutes). These are not performance measurements: they are the kinds of metrics you use to determine how interesting and sticky the content of your site is (along with things like your bounce rate and content flow).

In fact, this number (apparently a feature of Chartbeat) claims to be measuring "concurrent people sitting at a computer looking at pages from your site", not concurrent requests or "hits" to your webserver, or even concurrent HTTP connections (which may be idle for long periods of time). This number is almost entirely meaningless for the purposes of discussing your site's load. Imagine an HTML5 JavaScript game that took an entire day to play: with one request per second you may find yourself with tens of thousands of "concurrent visits".


Knowing how many people are on your pages at any one time isn't a meaningless number. You're right in the sense that it's not a great way to assess quantitative site load. I just used that number in the blog to give a qualitative assessment of how many people were currently on my site.

Also, you are misunderstanding this chartbeat number. These 282 visitors weren't spread out over 45 minutes. These are real time users. Granted, some users are idle but most are interacting with the pages.

If this blog post were about the specifics of server load from a #1 HN post, I wouldn't even use the chartbeat figure. The post was about middleman + s3 + cloudfront. The chartbeat figure was more than enough to give readers a qualitative glance of how many people were looking at my site.


You had ~2250 visits that day (1440 minutes), each of which spent (on average) ~45 minutes looking at your website. Assuming only one concurrent visitor, you'd have had 1440/45 = 32 total visits. You actually had 2250/32 = ~70 times that number, so you averaged ~70 concurrent visits that day.

Due to expected fluctuations (day/night, when you posted to HN) there will be considerable real-time variation; it is easy to believe that you spiked up to 282 concurrent visitors at some point when people were heavily commenting on HN: however, the real question here is what the concurrent number of requests looked like.

Finally, yes: one way to look at these visitors is that they were "spread out over 45 minutes" (although that isn't how I'd describe it myself). If you asked "during any given 45 minute period, how many visits (on average) started during that period", we would be looking at 2250/(1440/45), or ~70 visits starting in that window.


Creating a daily average of concurrent visits isn't relevant. Servers don't take an average of all the possible future hours of complete inactivity when they are serving up requests.

The post was only up at the top for a couple of hours before the server performance got so bad such that everyone started flagging it. My post then dropped off the front page and quickly went to page 4 or 5 due to the flagging.

I agree with you that the more interesting number would be the the concurrent number of requests.


> Servers don't take an average of all the possible future hours of complete inactivity when they are serving up requests.

I did that math to demonstrate that you are misunderstanding the relevancy of the Chartbeat number: that yes, if you look at the values "over 45 minutes" that is slightly weird, but entirely accurate, as it is not in any way unlikely that you had a spike four times your average during the day (that's why I had to calculate the average: to see if your maximum value was unexpected; I did the calculation of the average using the way of interpreting the chart which you believe is flawed, and it turns out that it is entirely consistent).

> The post was only up at the top for a couple of hours before the server performance got so bad such that everyone started flagging it.

Sure: your site was slow (I'm not questioning that your site was slow: tons of websites hit HN and then fall apart, it seems to be a daily occurrence), but I still don't know how you accomplished it with this small a number of users.


A lot of people on HN are still learning things like this. I understand that a post like this doesn't add any value to someone like you who probably knows this stuff inside and out, but I'm grateful for posts that give me insight into new tools that can help me. This isn't just a community for people with 10 years of programming experience.

Should I not try to help out the community with blog posts about my experience? Should we just cater to the experts?


I feel like we're going to sail off into old/new user debate territory. "It's been done before" / "I'm new and so it's novel to me" etc etc.

I'm not sure what to tell you, except I fall squarely on the "old" side of that divide, having had to nurse Wordpress installations for nigh on 10 years now.

But every time -- every time -- an uncached Wordpress blog is linked to and dies with the famously unhelpful "Error establishing a database connection", somebody pops up to mention WP Supercache and/or W3 Total Cache.

Actually, if I have a pet peeve, it's that non-terrible caching isn't part of the Wordpress core. Probably breaks on gawdawfulhost.com or something, god forbid that 99.999% of the internet be better off from core architectural improvements when we could be working on the fifteenth new admin redesign!!1!

Edit: I realise now that you weren't talking about Wordpress and thus, my own pet obsession is clearly revealed.


Fair enough. I think we are all sick of hearing about WP Supercache.

My post was about middleman + s3 + cloudfront, however. I think this combination of tools isn't as well known and some people could benefit from knowing about them.


In my opinion (given my superficial understanding of the prior situation), your problem was Apache + mod_php. The default settings for that combination are to chew memory until the bad people go away.

Out of curiousity, why middleman when you're already using Jekyll/Octopress?

(My dog in the static site generator fight is Nanoc, fwiw).


My main site, AppRaptor, isn't on octopress. Just this blog. I agree with you 100% that the problem was apache + mod_php. Nginx would have probably been better. I decided to try out this s3 + cloudfront solution instead, though. I'll take a look at nanoc. Thanks for the info.


Nanoc is hard to get used to but as far as I'm concerned it's a bucket filled with magic.


Must be your internet. My server load time is hanging steady at 455 ms.


The issue is a static site shouldn't even need to use caching techniques.

When I'm building an app I will use memcached with redis. But this post was just about getting a host environment/workflow for situations in which you want the ease of development that server side languages provide (shared code includes, etc.) and not have to deal with things like caching.


This is your #1 most hilarious comment.


I guess that's what happens when people learn a lot of technologies in school and don't really know when to use them.


Also, it's unreasonable to expect the author to make every change which is recommended. Some things are judgement calls. I really appreciated the feedback of HN and acted on most things suggested, but not everything.


I beg to differ. I changed a lot of stuff which was recommended by HN. What errors do you see? The main thing I didn't change was I kept the open source stuff highlighted because the vast majority of people visiting the site will want to find those resources.


"Get Perks at Local Restaurants & Bars" shouldn't be title cased. It should be "early beta" not "early Beta". The ellipsis after the "etc" should be a period. There are many others too.

There were a ton of comments that were incredibly constructive and valid. I appreciate it's your site and you're not beholden to anybody, but almost all the criticism that was given was ignored.

Also, you can edit comments on HN rather than leaving a second as an afterthought.


I just saw the webpage for the first time. I agree with you. The writing is very poor on this webpage. Many sentences were awkwardly worded.

>Perks include offerings like free appetizers, complimentary drinks and more.

This is one of the awkward sentences that I found hard to comprehend at first..

And "early beta" is still not changed..


Fixed those errors. Thanks.

I did make a lot of changes suggested. I changed my about page a lot, and made copy changes to much of the stuff on the homepage. Keep in mind that this site is still a work in progress and I got caught up with other stuff the rest of the week. I will probably make more of the HN suggested changes later. I'm just saying that not all recommendations fit in with the author's view on something.


My site made it to #1 on hacker news last wednesday for a couple of hours. It peaked at 287 concurrents. Unfortunately, I wasn't expecting that kind of surge and only had it on a small linode, so it couldn't handle the traffic. Since then, I've moved it to an S3 bucket with cloudfront as a cdn. http://www.appraptor.com


Thanks for the link. That was a really useful article for me.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: