scott francis

510 posts

scott francis banner
scott francis

scott francis

@planetscott

[email protected], enjoys computers, former Principal Production Engineer @ Shopify, ex-IBM, zinc-deficient

🇨🇦 شامل ہوئے Kasım 2008
195 فالونگ511 فالوورز
Ashutosh Maheshwari
Ashutosh Maheshwari@asmah2107·
You work for a site that drops limited-edition sneakers. Tomorrow, you're releasing a shoe. There are only 1,000 pairs in stock. A million users are on the product page, waiting. The timer hits zero. Your system is instantly hit with 500,000 concurrent requests to "add to cart." A simple UPDATE inventory query leads to a massive race condition. In the chaos, the system oversells 5,000 pairs. It’s a PR and logistics disaster. How do you design a system that can handle this traffic and sell exactly 1,000 pairs without crashing or overselling?
English
201
47
1.6K
202.9K
morgan gallant
morgan gallant@morgallant·
if @pushrax has a million fans, i’m one of them. if @pushrax has 5 fans, i’m one of them. if @pushrax has 1 fan, that fan is me. if @pushrax has no fans, i’m no longer alive. if the world is against @pushrax i’m against the entire world. till my last breath, I’ll support @pushrax
English
1
2
20
10.6K
scott francis
scott francis@planetscott·
I would not be surprised if the current @Reddit outage was caused by the blackout protest from some of the larger subreddits. I could see the balancing/indexing of those subreddits being fairly bespoke, and now that they’re private it’s wrecking havoc on feed generation/caching
English
0
0
10
681
scott francis
scott francis@planetscott·
@nateberkopec Way back in the day at Shopify @harrybrundage printed out and taped pages and pages of request logs to the wall. We would go through them to find queries to cache with identity cache. It works!
English
1
0
7
392
Nate Berkopec
Nate Berkopec@nateberkopec·
The SQL Shotgun performance improvement method: 1. Make a request to your backend. 2. Read the logs for what SQL was executed. 3. Think about every query, what data it gets, whether that data was already fetched, try to get rid of every query you can. Laborious, but effective.
English
6
5
61
6.6K
scott francis
scott francis@planetscott·
@geejmasterflex IIRC you could cache=false it but there was still another caching layer in front of the database, specifically for endpoints like products.json
English
1
0
2
446
scott francis
scott francis@planetscott·
@geejmasterflex Y’all caused a lot of mischief with your attempts to fetch uncached product endpoints. There was a bunch of stuff we did there too
English
1
0
2
730
scott francis
scott francis@planetscott·
Shopify makes this all look easy but it’s not. The reason the flash platform is so good today because of years of great engineering work by some very smart people, working under a ton of pressure to make commerce better for everyone ™ /fin
English
1
1
55
2.7K
scott francis
scott francis@planetscott·
I had to take time off when another merchant’s sale was botted so heavily that it took an entire Shopify region down and we had to figure out (within a few hours) how to allow them to have their sale without causing another massive disruption.
English
1
1
8
1.7K