웹서버 성능 최적화

클라우드 환경에서 고려해야 하는 웹서버 성능 최적화를 위한 모니터링 전략

  • 빠른 응답 시간
  • 높은 가용성: 웹서버의 다운타임을 최소화
  • 확장성: 트래픽 증가에 따라 서버 자원을 유연하게 확장할 수 있도록 함
  • 효율적인 자원 사용: 서버 자원을 최적화하여 비용을 절감하고 성능을 극대화
  • 안정성: 웹서버가 안정적으로 동작하여 사용자가 신뢰할 수 있도록 한다.

성능 최적화를 위해서 고려할 요소들

  • 하드웨어
  • 네트워크
    • 대역폭: 네트워크에서 데이터를 전송할 수 있는 최대 용량
    • 트래픽: 네트워크를 통해서 주고 받는 데이터의 양을 의미
  • 코드 최적화
  • DB 최적화
  • 캐싱
    • Redis: Ram에 저장하며 매우 빠른 속도로 읽고 쓸 수 있다. 문자열, 해시, 리스트, 셋, 정렬된 셋 등의 데이터를 저장할 수 있다.
    • Memcached: DB에서 자주 요청되는 데이터를 메모리에 저장해서 빠르게 접근할 수 있게 해주는 시스템
    • 비교
      • Redis가 더 다양한 데이터 구조와 기능을 제공, 데이터 영속성과 고 가용성을 지원
      • Memcached는 간단한 키-값 형태의 데이터 캐싱에 특화되어 있고, 매우 높은 성능을 제공
  • 로드밸런싱: 여러 서버에 트래픽을 분산시켜 서버 과부하를 방지하고 성능을 최적화
  • CDN: 전세계에 분산된 서버 네트워크를 통해서 콘텐츠를 사용자에게 빠르게 전달

모니터링에 고려해야할 요소

  • CPU 사용률
  • 메모리 사용률
  • 디스크 I/O
  • 네트워크 트래픽
  • 응답시간
  • 에러 로그

클라우드 환경에서 성능 최적화

  • 오토스케일링
  • 인프라 최적화
  • 컨테이너화
  • DB 최적화
  • 캐싱 전략
  • 최신 기술 사용