-
Throttling(쓰로틀링) 현상이란?CS 지식/chat gpt와 TIL 2023. 10. 16. 18:00
Throttling(쓰로틀링)은 일반적으로 PC, 노트북, 모바일 기기의 CPU, GPU 등이 지나치게 과열될때 기기의 손상을 막고자 클럭과 전압을 강제적으로 낮추거나 강제로 전원을 꺼서 발열을 줄이는 기능입니다.
성능을 강제로 낮춘다는 점에서 거부감이 들 수 있으나, 발열을 제대로 제어할 수 없게 되면 기기의 수명과 배터리에 악영향을 주게 되므로 꼭 필요한 기능이라 할 수 있습니다.
특히 발열에 취약한 스마트폰/태블릿/노트북 등은 필수적으로 스로틀링 기능을 갖추고 있습니다.
같은 사양의 노트북이 데스크톱에 비해 성능이 떨어지는 이유도 방열성능이 떨어져 그만큼 스로틀링이 빨리오거나,
부품 보호를 위해 스로틀링의 임계값이 낮게 세팅되어 있기 때문입니다.
PC, 노트북과 같이 쿨링팬과 히트싱크 구조를 가지고 있는 기기의 경우에는 내부의 먼지가 끼어 통풍이 불량해지거나, 쿨러에 도포 되어 있는 서멀 그리스가 굳어 열전도 성능이 떨어지게 되면 방열 기능이 떨어져 스로틀링이 발생하게 됩니다.
따라서, PC가 고성능을 요구하는 작업을 일정 시간 실행한 이후에 갑자기 급격하게 성능이 저하되거나, 별다른 작업을 하지도 않았는데도 쿨링팬이 굉음을 내며 돌아간다면 이를 의심해보고 쿨링팬, 방열판 등의 먼지 제거와 함께 서멀 그리스 재도포 등의 조치를 취하는 것이 좋다고 합니다.
제가 이 쓰로틀링을 처음 듣게된 것은 AWS의 EBS에 관련한 개념을 공부하면서입니다. 이번에는 AWS (Amazon Web Services) 및 다른 클라우드 서비스에서 발생하는 현상 중 하나로 가정해서 쓰로틀링을 설명해보도록 하겠습니다. 앞선 예시를 통해 더 쉽게 해당 개념을 이해하실 수 있습니다. AWS 및 다른 클라우드 서비스에서 발생하는 Throttling(쓰로틀링) 현상이란, 서비스 리소스의 사용이 제한되거나 제어되는 것을 의미합니다. Throttling은 네트워크 대역폭, API 요청 속도, 데이터베이스 연결 등과 관련된 다양한 리소스에 적용될 수 있습니다. 이것은 서비스의 안정성을 유지하고 서비스 속도가 너무 빨라서 과도한 부하를 방지하는 데 사용됩니다.
AWS와 연관지어 설명을 해보도록 하겠습니다. AWS에서는 다양한 서비스를 제공하며 이러한 서비스를 사용하는 고객은 여러 가지 리소스와 API를 통해 서비스를 이용할 수 있습니다. 예를 들어, Amazon S3 (Simple Storage Service)에서 파일을 업로드하거나 Amazon EC2 (Elastic Compute Cloud)에서 가상 머신을 시작하는 경우, 이러한 작업은 API 요청을 통해 이루어집니다.특정 AWS 서비스에서 고객이 초당 1000개의 API 요청을 수행할 수 있다고 가정해봅시다. 이것은 서비스의 가용 리소스 및 성능을 고려하여 설정됩니다. 그러나 어떤 고객이 초당 2000개의 API 요청(요청 max가 1000개로 설정되어 있음)을 하려고 시도한다면, AWS는 이러한 요청을 제한하거나 조절할 수 있습니다. 이것이 Throttling 현상입니다.
이 고객이 초당 1000개 이상의 요청을 계속하려고 하면 AWS는 초과된 요청을 무시하거나 대기시키는 등의 조치를 취할 수 있습니다.
따라서 Throttling(쓰로틀링)은 AWS와 같은 클라우드 서비스에서 매우 중요한 요소 중 하나이며, 서비스의 안정성과 성능을 유지하는 데 필요합니다. 그러나 Throttling은 고객이 사용 가능한 리소스에 맞게 사용량을 조절하도록 유도하기 위한 것이므로, 이러한 제한은 항상 필요한 것이 아니라 서비스의 정상적인 운영을 지원하기 위한 것이라는 것을 알고 계시면 좋습니다.AWS Lambda에서의 쓰로틀링은 함수에 대한 동시 실행 요청 수를 제한합니다.
람다에서의 쓰로틀링은 클라이언트의 과도한 요청으로 함수와 리소스에 과부하가 오는 것을 막고 그에 따른 비용을 제어하는 역할을 수행하게 됩니다.
예를 들어, 403 에러로 람다가 트래픽을 처리하지 못하는 경우에도 쓰로틀링이 발생하게 됩니다.
요약
쓰로틀링이란? 과도한 요청이나 처리량이 생기면 과부하를 막기위해 처리량을 줄이거나 처리하는 머신의 스펙을 낮춰서 처리하는 방식입니다. 즉, 과도한 작업량을 줄이거나 작업처리량을 줄이는 것
출처 : https://12bme.tistory.com/504
https://kr.transcend-info.com/embedded/technology/thermal-throttling
https://velog.io/@hkjs96/AWS-Lambda
'CS 지식 > chat gpt와 TIL' 카테고리의 다른 글
Boto3 란? (0) 2023.10.20 HDD와 SDD의 차이 (1) 2023.10.13 IOPS란? (0) 2023.10.13 465, 587 포트 차이 (1) 2023.10.10 rDNS란? (0) 2023.10.10