Hacker News new | ask | show | jobs
by throwaway934223 938 days ago
S3 Standard has slow first byte latency for three reasons: 1. All data is stored on old school spinning HDDs with multi millisecond seek times 2. There's still Java (and garbage collection) on the request path. There has been a multi-year effort to move the request path entirely to Rust to eliminate GC but Java still remains. 3. To reduce storage costs, objects are erasure-coded "wide", which means many hosts are involved in servicing a request. This means only one such sub-request has to be slow to slow your request down.

The new storage class is SSD-backed, presumably doesn't use Java anywhere, and doesn't stripe your data across as many hosts. It's more expensive because SSDs are more expensive than HDDs and narrow erasure codes are more costly than wide erasure codes.

Source: Used to work on S3.