Protect Performance - Scalability Concerns
47 turns · 9 min captured of 24 min stated?Only the captured portion exists in the database. The remaining 14 min of this call was never transcribed, so nothing said in it appears anywhere in this application.
Showing 47 of 47 turns · 25 turns were used as evidence for at least one fact.
- Chris LeeAegisCloud0:04turn 0ASR 90%
Alright, I think we're all on — can everyone hear me okay?
- Nina KowalskiAegisCloud0:09turn 1ASR 91%
Yeah, I can hear you.
- Tyler WashingtonAegisCloud0:12turn 2ASR 91%
Yep, good here.
- Sofia PetrovAegisCloud0:15turn 3ASR 92%
Same, I'm on.
- Chris LeeAegisCloud0:17turn 4ASR 94%
Okay good, so — let's just dive in because I don't want this to run long. The reason I called this is, uh, we've been getting some pretty alarming signals from the Protect module over the last couple of weeks and I think we need to talk through what's actually happening before this becomes a customer-facing issue.
- Nina KowalskiAegisCloud0:38turn 5ASR 88%
Yeah, I'm glad we're finally having this conversation honestly. I've been flagging some of these benchmark numbers for like three weeks now and it feels like nothing's moved.
- Chris LeeAegisCloud0:48turn 6ASR 94%
Okay, let's not — I hear you Nina, and I want to get to that, but let's just start with the actual data so we're all on the same page. Tyler, you ran the load tests last week, can you walk us through what you saw?
- Tyler WashingtonAegisCloud1:04turn 7ASR 93%
Sure, yeah. So we ran a simulated backup workload at roughly 2x our current P95 customer scale, and the results were... not great. Throughput started degrading at around the 60% load mark, and by the time we hit full simulated load we were seeing backup job queue times spike to like — I think the worst number was 47 minutes for a job that should complete in under five.
- Sofia PetrovAegisCloud1:30turn 8ASR 94%
47 minutes? I — sorry, did you say 47?
- Tyler WashingtonAegisCloud1:34turn 9ASR 92%
Yeah. 47. And that's not even worst-case, that's just what we observed in the test window. It could be worse under sustained load.
- Sofia PetrovAegisCloud1:43turn 10ASR 92%
That's... I mean that's genuinely bad. Like that's not a tuning problem, that's a fundamental architecture concern.
- Tyler WashingtonAegisCloud1:49turn 11ASR 93%
Right, which is sort of what I've been trying to say. The scheduler — and look, I don't want to throw anyone under the bus here — but the job scheduler isn't built to handle concurrent dispatch at this scale. It was designed for, I don't know, a much smaller customer footprint than where we're heading.
- Nina KowalskiAegisCloud2:10turn 12ASR 94%
Okay and this is exactly what I documented in QA-1847 back in, uh, late February. The concurrency ceiling on the scheduler queue was a known risk item. I flagged it as high severity.
- Chris LeeAegisCloud2:23turn 13ASR 95%
Nina, I know you flagged it. It was on the backlog. We were dealing with — look, we had the Detect outage in March, that pulled a lot of engineering bandwidth, and some things got deprioritized. That's just the reality.
- Nina KowalskiAegisCloud2:38turn 14ASR 88%
I understand that, Chris, and I'm not trying to relitigate prioritization decisions. But I think we have to acknowledge that we knew about this and we're now sitting here looking at 47-minute queue times. That's... that's uncomfortable.
- Chris LeeAegisCloud2:52turn 15ASR 96%
It is uncomfortable. I'm not disagreeing. Let's focus on what we do about it.
- Sofia PetrovAegisCloud2:58turn 16ASR 88%
So I've been doing some digging since Tyler shared the numbers yesterday, and I think there are actually two separate issues tangled together here. One is the scheduler concurrency problem which Nina flagged, and the other is — and this one I actually didn't expect — the snapshot deduplication layer is doing a lot of synchronous I/O that it really shouldn't be. Like it's blocking on disk reads mid-job.
- Tyler WashingtonAegisCloud3:23turn 17ASR 95%
Oh, yeah — I actually saw that too in the traces. There's this dedup check that happens inline and it's just... it's not async. It never was.
- Sofia PetrovAegisCloud3:34turn 18ASR 93%
So that's compounding the queue problem. Because jobs are blocking longer than they should, which backs up the queue, which makes the scheduler worse.
- Nina KowalskiAegisCloud3:43turn 19ASR 91%
It's like, it's a pressure cooker situation. Each problem makes the other one worse. Great.
- Chris LeeAegisCloud3:50turn 20ASR 88%
Okay, so realistically — what are we looking at in terms of effort to fix the scheduler concurrency issue? Sofia, you know that codebase better than anyone.
- Sofia PetrovAegisCloud4:01turn 21ASR 92%
Honestly? It's not a quick fix. The scheduler wasn't designed to be horizontally scalable. To do this properly we'd probably need to refactor the dispatch layer, introduce some kind of distributed queue — I keep thinking something like a partitioned queue model would actually solve this — but we're talking weeks of work. Plural. Not two weeks, more like... six to eight minimum if we want to do it right and not create new problems.
- Chris LeeAegisCloud4:28turn 22ASR 89%
Six to eight weeks. Okay. And we're heading into what's supposed to be a growth quarter for Protect. Sales has been pushing it pretty hard post the Comply v2 launch — they want to bundle them together.
- Tyler WashingtonAegisCloud4:42turn 23ASR 89%
Which is great for the business but if we scale the customer base and the infrastructure can't handle it, we're going to have outages. Real ones. Customer-impacting ones.
- Nina KowalskiAegisCloud4:53turn 24ASR 90%
And that's the last thing we need right now. After March, after the Detect thing — honestly our credibility with some of these enterprise customers is already fragile. Another major incident would be... it would not be good.
- Chris LeeAegisCloud5:07turn 25ASR 95%
Yeah, I think about that a lot. The Detect outage — the six hours of no visibility — that shook some people. I know we fixed it, the redundant nodes, the circuit breaker stuff, all of that. But trust takes a while to rebuild and piling a Protect failure on top of that is not something I want to explain to leadership.
- Tyler WashingtonAegisCloud5:29turn 26ASR 95%
So what do we do in the meantime? Like is there a stopgap? Because six to eight weeks for a full refactor doesn't help us if we're onboarding new customers next month.
- Sofia PetrovAegisCloud5:42turn 27ASR 91%
There might be some things we can do at the config level. Like we could tighten the job concurrency limits per tenant — basically throttle how many concurrent backup jobs any single customer can run — which buys us some headroom on the queue. It's not a fix, it's a band-aid, but it could prevent the worst-case blowups.
- Nina KowalskiAegisCloud6:03turn 28ASR 90%
Yeah but then we're artificially limiting the product for customers who are paying for, you know, enterprise-grade backup. That feels wrong.
- Sofia PetrovAegisCloud6:12turn 29ASR 96%
It does feel wrong. But the alternative might be an outage, which is worse.
- Chris LeeAegisCloud6:18turn 30ASR 95%
I agree with Sofia. A graceful degradation we control is better than an uncontrolled failure. We implement the throttle as a temporary measure, we communicate it internally, and we stay off the critical path while we do the real fix.
- Tyler WashingtonAegisCloud6:32turn 31ASR 92%
And the async dedup issue — is that more tractable? Like can we decouple that faster than the scheduler work?
- Sofia PetrovAegisCloud6:41turn 32ASR 88%
Yeah, actually I think the dedup thing is more isolated. If we move the deduplication check to an async worker and just do a quick hash lookup first with a fallback... I mean I'd need to prototype it but I think that's a one to two week effort. Maybe less.
- Chris LeeAegisCloud6:59turn 33ASR 94%
Okay, that's at least something. That's one concrete thing we can actually move on quickly.
- Nina KowalskiAegisCloud7:06turn 34ASR 91%
Can I ask something that might be uncomfortable? Do we need to be having a conversation about whether sales should be slowing down Protect commitments right now? Like, should we be having a conversation with them about customer onboarding pace?
- Chris LeeAegisCloud7:20turn 35ASR 89%
Ugh. I mean — yes, probably. That's going to be a fun conversation. Sales is riding high on the Comply v2 momentum and they're not going to love being told to pump the brakes on Protect.
- Nina KowalskiAegisCloud7:34turn 36ASR 91%
I know, but better to have that conversation now than to have it after a customer's backups fail during a ransomware event or something. Like, that's the scenario we're trying to avoid.
- Chris LeeAegisCloud7:46turn 37ASR 96%
You're right. Okay. I'll set up time with the sales lead this week. I'll frame it as a scaling preparation conversation rather than a stop-selling conversation. But the message will basically be: let's be thoughtful about onboarding pace for the next six to eight weeks.
- Sofia PetrovAegisCloud8:04turn 38ASR 89%
That's probably the right framing. And in parallel, Tyler and I can start sketching out the scheduler architecture? Like even just getting the design doc started so we know what we're actually committing to?
- Tyler WashingtonAegisCloud8:16turn 39ASR 92%
Yeah, let's do that. I can pull together the load test traces and annotate them so you've got the full picture of where things are falling apart.
- Chris LeeAegisCloud8:27turn 40ASR 90%
Good. Nina, can you put together a summary of the QA findings — the existing ticket plus anything new from the test results — so I have something to bring to leadership? I need to brief them this week and I want the data to speak for itself.
- Nina KowalskiAegisCloud8:45turn 41ASR 90%
Yeah, I can have that to you by tomorrow morning. And I'll include the timeline of when things were flagged because I think that's... I think that context matters.
- Chris LeeAegisCloud8:56turn 42ASR 90%
Understood. Okay — I think we have a rough path forward. It's not a great situation, I won't pretend it is, but at least we're not walking into it blind anymore. Let's regroup end of week and see where we are on the dedup fix and the design doc. Sound good?
- Tyler WashingtonAegisCloud9:15turn 43ASR 94%
Works for me.
- Nina KowalskiAegisCloud9:17turn 44ASR 95%
Same, I'll have the summary ready.
- Sofia PetrovAegisCloud9:19turn 45ASR 93%
Yeah, sounds good. I'll ping Tyler offline to coordinate.
- Chris LeeAegisCloud9:23turn 46ASR 89%
Alright. Thanks everyone. Not a fun call but an important one. Talk later.