Live data from Hacker News

Shopify live dashboard

bfcm.shopify.com

111–114 of 114 posts

Re: Shopify live dashboard

#112

But, but... Rails doesn't scale!!!!!

The dashboard shows 25k orders per minute right now (~400/s). A modern server shouldn't even be close to 1% utilization to handle that.

1) Orders are complex and require many steps to process correctly.

2) Orders are only the writes, we have to serve many magnitudes more read traffic and not all of it is cached (invalidations, inventory counts).

Re: Shopify live dashboard

#113

Earlier quoted context omitted.

The dashboard shows 25k orders per minute right now (~400/s). A modern server shouldn't even be close to 1% utilization to handle that.

1) Orders are complex and require many steps to process correctly. 2) Orders are only the writes, we have to serve many magnitudes more read traffic and not all of it is cached (invalidations, inventory counts).

1. Yes, of course.

2. How many is "many" magnitudes? The word suggests at least 4, but if so, it'd make more sense to brag about that.

And anything is cacheable if it doesn't affect transactional logic. If the user is looking at a page for 10 seconds, are they going to care that the inventory count is 3 seconds old? At your many orders of magnitude, caching for a couple seconds would give you hits almost all of the time for popular pages.

Also, aren't inventory counts that are displayed to users typically completely made up? Why would you make something like that dynamic and accurate in a high load system? The only reason to have it is to create FOMO or for b2b bulk ordering, and the latter is a whole different thing.

Re: Shopify live dashboard

#114
Aside from the globe itself, most of the movement in this animation is the frenetic ticking of digits as the "sales per minute", "unique shoppers", "orders per minute" and "carbon removed" numbers change. All of these numbers are actually updated only once every 10 seconds, but the animation makes all the digits scramble for 8 out of those 10 seconds for no reason other than to look busy.

Don't do that.

Don't distort the information. Don't make it harder to read the information. Don't waste the user's visual attention on things that don't matter. Spend it on things that are meaningful.

Post reply on HN