Urgent.News

What's breaking now, across thousands of outlets.

Tech

Your Load Test Won't Find These Four Gaps. Learnings from OpenAI's Habitat

OpenAI’s Habitat scaled to 70M+ requests per second, but its biggest failures came from coordination, defaults, and process-level behavior.

Your Load Test Won't Find These Four Gaps. Learnings from OpenAI's Habitat

OpenAI's Habitat, the storage platform behind ChatGPT, is capable of handling 70M+ requests per second, 500+ petabytes of data, and operates across 40 regions with a 10× growth year-over-year for three years. However, the incidents described in OpenAI's engineering post were not capacity problems, as CPU, memory, disk, or bandwidth were not exhausted.

Instead, three of the four incidents were coordination effects that appeared when scaling out, and two of them traced back to library defaults that were correct on small systems but problematic at scale.

The first incident involved a response sitting ready but unparsed due to thread contention, creating an invisible delay on database dashboards. The second incident was caused by a feature-flag SDK polling every 60 seconds with no jitter, which stalled entire pods in lockstep. The third incident involved a connection pool's LIFO default, creating a self-reinforcing outage that persisted even after removing its trigger.

The root cause of these incidents was the deployment of Habitat as a library, which could not be controlled, rolled back, or updated independently. This lack of control led to critical issues such as database performance while user still waiting, and a synchronized fleet-wide stall. To address these issues, the recommended fixes included measuring event-loop delay, running fewer concurrent requests per process, and scaling out the process count instead of increasing traffic.

Written by urgent.news from HackerNoon's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at hackernoon.com →

More in Tech

E-Commerce DNS Zones: Enumerate, Diff, Apply, and Verify in Node.js

Short answer: list the live DNS records, save that original snapshot, diff it against the intended set, upsert only the differences, and verify the important outcomes before changing nameservers.

  • Enumerate DNS records from existing registrar, save as snapshot
  • Normalize records, compute set difference between current and desired records
  • Verify outcomes before changing nameservers, ensure intended and observed sets agree

When the Free Tier Stops Being Cheap: A Load-Based Exit Test for Agent Backends

When the Free Tier Stops Being Cheap: A Load-Based Exit Test for Agent Backends A team moves its nightly agent job onto a free endpoint. Week one looks perfect.

  • Free server tiers become inefficient at high concurrency
  • Three factors affect performance curve: retry amplification, cold-path penalties, queue debt
  • MonkeyCode provides free model access with token limits

More from Tuesday 15 September →