서버 부하, Redis

All We Need is Data, itself !·2022년 1월 11일
0

ETC

목록 보기
3/11

서버 부하에 대해

https://injae-kim.github.io/dev/2020/07/09/how-to-check-single-server-load-average.html


서버 앞단의 부하 처리

  • Load Balancer
  • Server 자체의 갯수를 늘여줄 수 있다.

단일 서버의 부하

  1. CPU 부하
    프로그램 자체의 연산량이 많은 경우
    알고리즘의 시간-공간복잡도 개선.. 효율성 ㅜ

  2. I/O 부하
    서버에서 실행되고 있는 프로그램의 입출력이 많거나 저장장치로의 접근량이 많음
    어떤 프로세스가 메모리를 극단적으로 소모하고 있는지 확인이 필요

    메모리를 증설하거나 데이터를 분산하거나, 필요한 경우 캐시서버를 도입할 수 있음.


캐시서버?
값을 미리 복사해서 저장해둠. 서버니까 그런 일을 하는 서버를 말하는 거겠지?
캐시용도로는 Redis를 많이 사용한다. 인-메모리 방식이라 빠르다는 것이 장점.
https://ko.wikipedia.org/wiki/%EC%BA%90%EC%8B%9C


그렇다면 이러한 부하를 측정하는 방법에는 무엇이 있나?

Load Average를 확인할 수 있는 명령어: top

  • 하지만 Load Average는 단순히 지연되는 태스크의 수를 의미하며, 어떤 부하가 일어나고 있는지 확인하기 어려움

시스템 바운드를 확인할 수 있는 명령어: sar

  • sar 명령어를 활용하면 %iowait의 값이 높은지, %user혹은 %system의 값이 높은지를 확인하여 CPU부하인지 I/O부하인지 확인할 수 있음.

프로세스 어카운팅: 각각의 프로세스가 생성된 이후로 CPU를 어느정도 이용했는지를 프로세스별로 기록하는 것


Redis 기본

https://brunch.co.kr/@jehovah/20


Redis vs. DynamoDB?

https://severalnines.com/database-blog/redis-vs-dynamodb-comparison

profile
분명히 처음엔 데린이었는데,, 이제 개린이인가..

0개의 댓글