{"id":"IL-0382","org":"Linode","date":"2022-10-19","docs":[],"title":{"en":"Linode Object Storage in Newark and Atlanta returned 503 Slow Down to all clients under very high inbound traffic","ko":"Newark 와 Atlanta 의 Linode Object Storage 가 느려지고 모든 클라이언트에 503 - Slow Down 으로 응답했다"},"domain":["database"],"impact":{"scope":"Object Storage in Newark and Atlanta: degraded performance, reduced availability and 503 - Slow Down responses for all clients; Object Storage functions in Linode Cloud Manager, including bucket listing for some customers","users":"unknown","region":"Newark and Atlanta"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":{"en":"Linode's per-bucket rate limiting at the edge is meant to keep excess load off the back end; when it works as intended, the back-end limits, which throttle every client alike, should never come into play.","ko":"백엔드 속도 제한은 한번 걸리면 공개한 한도를 넘지 않은 클라이언트까지 모든 클라이언트에 영향을 준다. Linode 는 버킷당 프런트엔드 속도 제한이 뜻한 대로 동작한다면 클라이언트를 가리지 않는 이런 백엔드 제한은 아예 걸리지 않아야 한다고 봤고, 그래서 백엔드 설정 값을 바꿨다."},"related":[],"sources":[{"url":"https://status.linode.com/incidents/5wgmd45h7h1j","kind":"official-status","archived":"https://web.archive.org/web/20240521013718/https://status.linode.com/incidents/5wgmd45h7h1j"}],"summary":{"en":"Under extremely high inbound traffic on 19 and 20 October 2022, Linode found several problems in the Newark and Atlanta Object Storage clusters that together caused the incidents. The rate limiting at the edge of the platform did not work as intended and let in much more traffic than the advertised limit of 750 requests per second per bucket, so excessive load reached the internal Object Storage infrastructure. At peak load that infrastructure went past two cluster safety thresholds, the maximum number of concurrent requests and the maximum throughput the back-end cluster is allowed to carry, and answered with 503 - Slow Down. These back-end limits were too conservative and apply to all clients at once, so clients were rate limited too early. The internal Object Storage also used excessive memory, which Linode traced to a bug tracker item for Ceph: certain configuration tunables can cause excessive memory use during storage pressure events. Some internal components suffered from resource contention, and the front-end gateways were overloaded and short of resources.\n\nLinode fixed the edge rate limiting so that it enforces the advertised 750 requests per second per bucket, adjusted the Ceph tunables to avoid runaway memory during high-pressure storage events such as cluster recovery after a hardware or network failure, moved the contended internal components to less busy, more stable and higher-performance infrastructure, and adjusted performance tunables on the internal components and the back-end clusters so that customers are not rate limited too early.","ko":"10월 19일과 20일 Newark 와 Atlanta 데이터 센터의 Object Storage 클러스터로 요청 수와 처리량이 모두 아주 높은 트래픽이 들어왔다. Linode 는 조사 초기에 여러 문제가 함께 장애를 만들었다는 것을 찾았다. 첫째, 플랫폼 경계의 프런트엔드 속도 제한이 뜻한 대로 동작하지 않아 들어와야 할 양보다 훨씬 많은 트래픽을 받아들였다. 이 부하가 내부 Object Storage 인프라까지 닿아 백엔드 속도 제한이 켜졌고, 고객은 503 - Slow Down 응답을 받았다. 둘째, 내부 Object Storage 의 메모리 사용량이 지나치게 늘어 성능과 안정성을 해쳤다. Ceph 버그 트래커에 이 현상을 설명하는 항목이 있었고, 어떤 설정 값은 이런 스토리지 압박 상황에서 메모리를 지나치게 쓰게 만들었다.\n\n셋째, 부하가 가장 높을 때 내부 Object Storage 인프라가 클러스터 안전 기준 두 가지를 넘었다. 하나는 백엔드 클러스터가 503 - Slow Down 을 내기 전까지 받는 최대 동시 요청 수였고, 다른 하나는 최대 처리량이었다. 이 백엔드 설정 값은 너무 보수적이어서 클라이언트를 너무 일찍 제한했다. 이 제한은 한번 걸리면 공개한 한도를 넘지 않은 클라이언트까지 모두 막았다. Object Storage 에 기대는 Linode 내부 시스템도 간헐적으로 제한을 받아 일부 고객은 Linode Cloud Manager 에서 버킷 목록을 볼 수 없었다. 넷째, 일부 내부 Object Storage 인프라가 자원 경합을 겪었다. 이 밖에 백엔드 클러스터 노드의 적절하지 않은 튜닝과 설정, 과부하에 걸린 프런트엔드 게이트웨이, 요청을 처리하기에 모자란 자원도 문제로 꼽혔다.\n\nLinode 는 경계의 속도 제한을 고쳐 공개한 한도인 버킷당 초당 750 요청을 정확히 지키게 했다. Ceph 버그를 해결하고 설정 값을 조정해 메모리가 폭주하지 않게 했다. 자원 경합을 겪던 내부 구성 요소를 덜 붐비고 성능이 더 높은 인프라로 옮겼다. 내부 구성 요소와 백엔드 클러스터의 성능 설정 값 몇 개를 조정해 고객을 너무 일찍 제한하지 않게 했다."},"trigger":{"en":"Extremely high inbound traffic, in both total requests and throughput, reached the Newark and Atlanta Object Storage clusters on 19 and 20 October 2022.","ko":"10월 19일과 20일 Newark 와 Atlanta 의 Object Storage 클러스터로 요청 수와 처리량이 모두 아주 높은 트래픽이 들어왔다."},"severity":"unknown","symptoms":["high-error-rate","memory-pressure"],"timeline":{"detected_after":null,"resolved_after":null},"date_kind":"incident","detection":null,"components":["object-storage"],"root_cause":"capacity","remediation":[{"text":{"en":"Fixed the edge rate limiting so it enforces the advertised 750 requests per second per bucket","ko":"Object Storage 클러스터 경계의 속도 제한을 고쳐 공개한 한도인 버킷당 초당 750 요청을 정확히 지키게 했다. 이전에는 클라이언트가 이 값보다 훨씬 많은 I/O 를 할 수 있었다."}},{"text":{"en":"Adjusted Ceph tunables to stop runaway memory use during high-pressure storage events","ko":"일부 내부 Object Storage 인프라에서 메모리를 지나치게 쓰게 하던 Ceph 버그를 해결하고, 하드웨어나 네트워크 고장 뒤 클러스터 복구 같은 스토리지 압박 상황에서 메모리가 폭주하지 않게 설정 값을 조정했다."}},{"text":{"en":"Moved internal Object Storage components hit by resource contention to less busy, higher-performance infrastructure","ko":"자원 경합을 겪던 내부 Object Storage 구성 요소를 덜 붐비고 더 안정적이며 성능이 더 높은 인프라로 옮겼다."}},{"text":{"en":"Adjusted performance tunables on internal components and back-end clusters so customers were not rate limited too early","ko":"내부 Object Storage 구성 요소와 백엔드 클러스터의 성능 설정 값 몇 개를 조정해 고객을 너무 일찍 속도 제한하지 않게 했다."}}],"action_items":[{"text":{"en":"Refine throughput and bandwidth throttling","ko":"처리량 제한을 더 세밀하게 만든다."}},{"text":{"en":"Scale up the internal Object Storage infrastructure to spread load more efficiently","ko":"부하를 더 효율적으로 나누도록 내부 Object Storage 인프라를 키운다."}},{"text":{"en":"Look for further hardware performance improvements for the internal Object Storage infrastructure","ko":"내부 Object Storage 인프라의 하드웨어 성능을 더 높일 방법을 찾는다."}},{"text":{"en":"Tune the load balancing algorithms to avoid hotspots in the clusters","ko":"클러스터에 부하가 한곳에 몰리지 않도록 부하 분산 알고리즘을 다듬는다."}}],"contributing":["known-bug-unpatched","blast-radius-too-wide"],"recurrence_of":null,"symptoms_text":{"en":"On 19 and 20 October 2022, Linode Object Storage in Newark and Atlanta slowed down, became less available and rate limited many requests with \"503 - Slow Down\" HTTP responses, after the clusters received extremely high inbound traffic in both request count and bandwidth.\n\nOnce the back-end rate limits started, they hit every client, including clients that had not exceeded the advertised limits. Internal Linode systems that use Object Storage were also rate limited from time to time, which affected Object Storage functions in the Linode Cloud Manager, and some customers could not list their buckets there. The internal Object Storage infrastructure also used excessive memory, and resource contention on some internal components made performance inconsistent.","ko":"10월 19일과 20일 Newark 와 Atlanta 데이터 센터의 Linode Object Storage 에서 성능과 가용성이 떨어졌다. 고객은 “503 - Slow Down” HTTP 응답 코드로 나타나는 속도 제한을 더 많이 받았다.\n\n같은 시간에 Object Storage 클러스터로 들어오는 요청 수와 처리량이 모두 아주 높았다.\n\nObject Storage 에 기대는 Linode 내부 시스템도 간헐적으로 속도 제한을 받았다. 그 때문에 Linode Cloud Manager 화면의 Object Storage 기능이 제대로 동작하지 않았고, 일부 고객은 버킷 목록을 볼 수 없었다.\n\n내부 Object Storage 에서 메모리 사용량이 지나치게 늘었다. 일부 내부 Object Storage 인프라는 자원 경합을 겪어 고객이 보는 성능이 고르지 않았다."},"updated_at":"2026-11-14T12:34:03.361043Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0382","org_slug":"linode"}