서버의 Load Average는 몇까지가 정상인가?

유닉스 기반의 서버에는 서버자체의 부하는 load average로 표현한다.

나의 경우에는 리눅스 서버만을 운영하고 있으므로 철저히 리눅스 베이스의 이야기를 하겠다.

top명령어를 통해 load average를 확인할수 있다.

사용자 삽입 이미지


위와 같은 형식으로 결과가 출력되는데 오른쪽 위에 load average가 표현됨을 알수 있다.

3개가 나오는데 각 1분, 5분, 15분 평균의 로드를 표시해 준다.

고로 가장 왼쪽이 가장 현재를 표시하고 있다라고 생각하면 되겠다. 그런데 운영을 하다보면 궁금한점이 있다.

“과연 몇까지 올라가도 정상으로 봐야 하는가?”

이부분은 어디 리눅스 관련 커뮤니티에 질문해 봐도 매우 추상적인 답변을 받게 되는 영역의 질문이다.

나역시도 저런 값이 존재하긴 하지만 서버상태는 으로 파악하는 수준의 기지를 발휘할수밖에 없었다.

하지만 얼마전에 SK커뮤니케이션즈의 모 대형 서비스 시스템을 담당하고 계신분을 만난 자리에서 대기업은 어떻게 이해하고 있는지 들어볼수 있었다.

결론은 이거였다.

CPU 1개당 2까지의 로드까진 정상으로 본다.

이게 무슨말인가? 현재의 대부분에 쓰이고 있는 요즘의 평균적인 제온 시스템이라면 CPU당 2까지의 로드까진 문제없는것으로 본다는것이다.

그렇다면 듀얼코어같이 HT(Hyper Threading)을 지원하는 CPU는 어떻게 계산하는지 물어보았다.

HT의 경우 CPU 2개로 친다는것이다. 쿼드코어의 경우에는 CPU4개로 친다는것이다.

고로 듀얼코어 CPU를 2개 꼽은 서버라고 하면 4 CPU x 2 = 8 의 로드까진 괜찮다는것으로 친다는것이 결론이었다.

내 개인 서버의 경우에는 CPU가 1개이지만 HT를 지원하므로 로드는 4까지 괜찮다는 결론이 나오게 되었다.

이러한 결과는 아마도 서버관리자들 사이에서도 의견이 분분한 부분이라 생각하는 부분이다. 하지만 대기업에서 사용하고 있는 방식이니 저렇게 생각을 하여도 괜찮을꺼라 생각해 본다.