[CS] 대규모 트래픽으로 인한 서버 과부하의 해결

최지나·2024년 1월 1일
2

CS

목록 보기
40/55

서버 과부하

정의

서버 과부하란 서버가 리소스 한계에 도달하여 사용자의 웹 요청을 처리하지 못하는 상태

해결

모니터링을 통한 자원 할당

  • 서버의 CPU 사용량, 메모리, 대역폭 등을 지속적으로 모니터링하여 자원을 적절히 할당(서버 대수 증감)

  • 클라우드 서비스 이용(AWS 오토 스케일링), 무료 모니터링 서비스(netdata)

로드 밸런서

  • 서버 앞단에 로드밸런서를 설치하여 트래픽을 분산
  • 서버에 장애 발생 시, 트래픽을 다른 서버로 리다이랙션하여 시스템 중단을 방지

블랙스완 프로토콜

  • 예측할 수 없는 사고 발생에 대히바여 시스템의 영향을 받는 부분을 파악하고, 관련 팀에 연락하여 빠르게 대응

서킷 브레이커

  • 서비스 간의 연쇄적인 오류 방지 위해 서킷 브레이커 패턴 사용
  • 네트워크 요청의 실패율이 임계치를 넘으면 바로 오류를 반환하여 (무한 대기 X) 더 이상의 서비스 장애를 막음

컨텐츠 관리

  • 불필요한 컨텐츠 제거: 고용량의 컨텐츠나, 필요하지 않은 컨텐츠를 제거 (ex Select * -> select colName)
  • CDN을 통한 컨텐츠 제공: 정적 자원(html,css,이미지)을 CDN을 통하여 제공하여 메인 서버의 부하를 줄임
  • 컨텐츠 캐싱: 브라우저 캐시를 활용하여 네트워크 트래픽을 줄임
  • 컨텐츠 압축: 텍스트 기반 리소스를 압축하여 데이터 전송량을 줄임
  • 컨텐츠의 우하한 저하: 시스템의 부하를 줄이기 위해 필수적이지 않은 기능을 일시적으로 비활성화. 경량화된 페이지 제공

REF

profile
의견 나누는 것을 좋아합니다 ლ(・ヮ・ლ)

0개의 댓글