← Back to blog
Solution 4 min read 炬鲸团队

E-commerce Peak-Season Readiness: Load Testing, Alert Tiers and Fast Recovery

Peak traffic is several to dozens of times normal, and every minute of failure costs money. This article shows how to find slow points with traces, locate limits with load testing, and tier alerts from SLOs.

The hard part is not scaling — it is visibility

The most common mistake in peak-season readiness is focusing only on capacity: add machines, add cache, add bandwidth. But what actually keeps people up on a big-sale night is not a lack of capacity — it is not knowing where the bottleneck is, when things start to slow down, or what to roll back first when something breaks. Those three are all observability problems.

Capacity can be estimated in advance through load testing, but production hotspots, slowdowns and dependency flapping cannot be simulated — they can only be caught by live traces and metrics. The observability platform's role in a sale is not about how many machines you can add; it is about how fast you can detect, locate and recover. A team that can add capacity in minutes but needs two hours to find a fault is still going to lose money on a sale night.

Finding the real bottleneck with traces

Before the sale, simulate peak traffic with full-chain load testing. Once the test data is in the platform, look not just at overall throughput but at each service's P99 latency and its dependencies. A typical finding: overall TPS hits target, but one downstream service's P99 is already at the timeout threshold — it will be the short board when real traffic arrives.

order → stock → promotion → payment → order persistence
            ↑ P99 1.8s (threshold 500ms)

Once you have found the slow point, decide whether to add cache, add instances or change code — rather than scaling everything on instinct. The trace is what turns a vague "we should be faster" into a concrete "the stock service's database query is the problem, fix that". Without it, capacity work is guesswork distributed evenly across every service, and most of it is wasted.

Alert tiers from SLOs

During the sale, alerts need finer gradation than usual. Start by defining SLOs for the core path — say, order success rate ≥ 99.9% and P99 ≤ 500ms — then tier alerts by impact:

  • P0: order success rate drops below threshold — phone + SMS + on-call channel, respond in 1 minute
  • P1: core service P99 exceeds limit — WeCom/DingTalk, respond in 15 minutes
  • P2: non-core service errors — email, handle within 1 hour

The key is to tighten thresholds a day ahead, so you are not waiting for real traffic to trip the alert. At the same time, silence irrelevant low-priority alerts so on-call only sees what actually needs handling. The goal is a single, short list of things that require a human — not a scrolling wall of notifications that everyone has learned to ignore.

SLOs also give the team a shared language for trade-offs. "Do we ship this feature now or wait until after the sale?" becomes a question about remaining error budget rather than a matter of opinion, which is exactly the kind of decision that should not be made on instinct at 10 p.m. the night before.

Playbooks must be observable too

Fast recovery depends on playbooks, playbooks need rehearsals, and rehearsals need observability. Three common moves:

  1. Throttling — rate-limit per service at the gateway; when it triggers, the platform must show throttled count and rejection rate so you can tell protection from friendly fire
  2. Degradation — drop non-core features like recommendations and points with one click; the platform records success rate and latency before and after
  3. Rollback — keep the previous version when deploying; after rollback, the platform must immediately confirm error rate and latency come back down

Build the metrics for these moves into a dashboard ahead of time, so you are not assembling data at 2 a.m. on sale night. A playbook that is not observable is a playbook you will not trust when it matters.

Peak-season checklist

  1. Run full-chain load testing once and find every core service's P99 and capacity ceiling
  2. Activate core-path SLOs and alert tiers a day early, and silence low-priority alerts
  3. Rehearse throttling, degradation and rollback, with key metrics on a dashboard
  4. Set the on-call schedule with clear escalation paths per team
  5. Afterward, turn high-frequency alerts and slow points into next season's improvement items