top | item 23119701

Fast or Slow

359 points| uptown | 5 years ago |fastorslow.com | reply

121 comments

order
[+] mmaunder|5 years ago|reply
Hi all. We're really flattered to be on the home page of hacker news. Thanks!!

You caught us by surprise. As you can see we've built in the ability to gracefully handle a lot of traffic but it's not ideal because you need to wait in a queue until we have enough capacity. So I wanted to jump on here and give you an update of a release we're putting out next week.

FastOrSlow does actual browser simulations from around 12 locations around the world. When we first architected it, we wanted to provide as many locations as possible including places like South Africa. That meant in some cases we needed actual bare-metal servers. So we built it on bare metal in data centers around the world.

We experienced some moderate popularity about a month ago and realized we needed to do a better job of scaling on demand. So we re-evaluated moving on to AWS. Around the same time AWS launched in Cape Town and a few other locations, and so we were able to get the kind of coverage we wanted globally.

So we kicked off an AWS migration. We're days away from moving into AWS and using spot instances to ramp up and down fast based on demand. But as I said, you caught us by surprise.

So please give FastOrSlow a try today, but know that by around late next week we'll be doing a much better job of handling your requests FAST without having to wait in line.

Thanks for your interest and patience. Myself and the lead architect, Ryan, will be here to answer any questions and of course listen to your suggestions.

Regards,

Mark.

[+] twicetwice|5 years ago|reply
This is a really cool tool, and seems much more polished than other similar sites I've used in the past. So first, thanks!

Second, though—this seems really expensive to run, based on what you're saying here. How are you monetizing or otherwise funding it?

[+] vezycash|5 years ago|reply
It seems you aren't caching results. Cos I typed in Apple.com and received a too many checks error instead of just returning a cached result.

* A slight tweak to your site allow you to save cash and handle surge traffic with your current server.

1. Returning cached results for sites that's have been recently checked.

2. Collect email addresses and mail the result when it's ready.

That's all.

It's a much better experience than leaving the tab open, frantically refreshing the page to see if the queue is reducing.

[+] jedberg|5 years ago|reply
One thing that might help a bit is to make the profiles you've already done public (well a curated list of popular sites maybe so you don't leak information). Have a list on the home page, so I can see what a report looks like, even if it's not the page I want.

Or maybe the page I want will already be there!

[+] blep-arsh|5 years ago|reply
Does the tool detect when the site responds with a "we don't want you here" page from specific regions? E.g. the Cloudfront blacklist, Cloudflare captcha/proof-of-work challenge, etc. These pages are usually quick to render and may skew results.
[+] bobloblaw45|5 years ago|reply
Oh good, I made it look up itself and was worried I broke it for everyone.
[+] JoshTriplett|5 years ago|reply
Would you consider writing a post on your experiences moving to AWS and spot instances for dynamic scaling? I'd love to hear more about the architectural changes you made for that.
[+] XCSme|5 years ago|reply
I am 2889 in line, and it doesn't seem to be updating. I have no idea how long it will take, a time estimate would be nice. Is it 1 minute or 1 month?
[+] nodesocket|5 years ago|reply
Hi, great tool. I am in line (1,201) can you talk a little about how the dynamic spot instances work? Do you kick off spot instance based on CPU load or network usage of all other spot instances in the cluster? Are all regions created equal, or do some regions get more requests than others?

I have to imagine your bandwidth costs from AWS aren't gonna be cheap.

[+] mmaunder|5 years ago|reply
We'll also be expanding to 18 locations globally once the migration completes.
[+] dwheeler|5 years ago|reply
This looks like a very cool tool, thank you! I totally understand the "getting surprised". This of all this interest (and the big queue!) as confirmation that this tool is of general interest.
[+] fbelzile|5 years ago|reply
Nice job Mark! The site looks super clean. It's nice to see a post like this explaining what's happening behind the scenes.

Remindme! in a week ;)

[+] Waterluvian|5 years ago|reply
Hey FWIW I'm not seeing the graceful queue. I'm getting a 429 on my very first request!
[+] tozeur|5 years ago|reply
Just heard the idea for this on a podcast a month ago! On the My First Million podcast
[+] swyx|5 years ago|reply
I collect sites like these! Here's my list of Every Web Performance Test Tool: https://www.swyx.io/writing/webperf-tests/ (will be updating with FastorSlow)
[+] thanksforfish|5 years ago|reply
I appreciate that it shows your place in line (I started at 53). This is really polished.
[+] Wowfunhappy|5 years ago|reply
Commenting four minutes later: I started at 350! Hacker News bump I guess?
[+] mmaunder|5 years ago|reply
Thanks, and we really appreciate your patience. See my comment regarding moving into AWS to improve scalability on demand.
[+] hoten|5 years ago|reply
Hi! I work on Lighthouse and Page Speed Insights (similar service to what you got here). Nice to see another player in this space :) congrats on the HN bump!

Wondering if you've had any pain points integrating Lighthouse that you wouldn't mind sharing. Anything more difficult than it should be, or were the docs lacking in some way, etc.

[+] mattbgates|5 years ago|reply
504 ERROR The request could not be satisfied. CloudFront attempted to establish a connection with the origin, but either the attempt failed or the origin closed the connection. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. Generated by cloudfront (CloudFront) Request ID: Ba3iKlMjJUrRy2BYUVqVLmm4hcOF70KSJgcfFnU2SUdQFLTIriKq8A==
[+] mmaunder|5 years ago|reply
Thanks. Seeing the same thing. Our team is on it. Just woke up our head of ops at 5am his time. Surprisingly Scott sounded awake and as if he was expecting my call. :-)
[+] mmaunder|5 years ago|reply
Quick update: We were generating 500s for the last 15 mins. Our worker queue got overwhelmed. From the eng team:

"We're moving about 5000 events per second now. Definitely shrinking now, and memory usage is dropping too."

Should be good to go now.

[+] jonchurch_|5 years ago|reply
Can someone post a completed report so we can peek at it while waiting in the queue?
[+] strikelaserclaw|5 years ago|reply
It seems cool but there are like 1k sites before mine, i wonder if you guys can implement a feature to email the report after the report is generated in the mean time (seems like a small feature).
[+] nodesocket|5 years ago|reply
Plus, they can collect e-mail addresses they can market and target to. Great idea.
[+] skilled|5 years ago|reply
I don't expect the site to be fully crowded all of the time, but have you thought about adding caching for previously processed sites? Perhaps a choice to see either a previously generated report or create an entirely new one.

The reason I ask is that I did a report last night, and checked it on my phone in the early morning. I put my site's address in again from my desktop now, and I see that I am 1,000+ in line. Even though a recent report was made for this site already, I can't seem to access it.

[+] aaronbwebber|5 years ago|reply
Tip: if your site is going to redirect from the bare domain to something else (e.g. `https://example.com` -> `https://example.com/home/`) make sure you enter the final destination, letting it redirect means that the cost of the redirects will be included in the report, which is unlikely to be what you want.
[+] yodon|5 years ago|reply
Unless that redirect is something your users are likely to experience, in which case you shouldn't cheat and provide a URL that delivers a different loading delay than visitors will encounter.
[+] rbritton|5 years ago|reply
Yep. We try to indicate when you're being affected by redirects since `http` -> `https` and `example.com` -> `www.example.com` are common ones. Those can often mean hitting an origin server instead of an edge server first.
[+] jedberg|5 years ago|reply
Usually you want to include that time, especially if most of your users will be going to the first url with the redirect.
[+] truth_seeker|5 years ago|reply
Thank you for creating this.

It was AHA moment for me when i looked at "Geography" and "Location" section. Pretty cool stuff.

[+] taf2|5 years ago|reply
How does this compare to webpagetest.org?
[+] winrid|5 years ago|reply
Nice, my marketing site that's not even on a CDN yet gets over 90 score in all regions. :)
[+] XCSme|5 years ago|reply
Where is hosted?
[+] code_duck|5 years ago|reply
I've had some issues like "There is a more recent report available for this URL. Would you like to view it?" but then when I try to, it says "No reports found".
[+] chrismorgan|5 years ago|reply
These pages use an awful lot of CPU when they’re active—in Firefox Nightly on Windows, a completed results page was consuming an entire core, which is not usual.
[+] ashtonkem|5 years ago|reply
Reminds me of a similar but completely unrelated phrase from the military: “slow is smooth, smooth is fast”
[+] mmaunder|5 years ago|reply
Shooter IIRC with Wahlberg. Love that old gunsmith in the Georgia forests.