핵심요약
“서비스가 살아만 있는지”가 아니라 **얼마나 빠르고 안정적으로 잘 돌아가는지 숫자로 계속 확인하는 것**
그래서 오늘은 특히 세 가지 지표에 집중했다.
1. CPU 사용률 – 서버(관리자) 관점
먼저 서버 입장에서 얼마나 힘든지 보기 위해 CPU를 확인했다.
-
도구:
htop -
명령어:
sudo apt-get install htop # 필요하면 설치 htop -
결과:
- 1명이 퀴즈 사이트를 사용했을 때 CPU는 최대 약 11% 정도까지 올라감
- 현재 기준으로는 CPU 병목 가능성은 거의 없고, 꽤 여유 있는 상태
내가 대략 잡은 기준선:
- 정상: 0~50%
- 주의: 70% 이상이 계속 유지될 때
- 위험: 90% 이상이 유지될 때 → 과부하 의심, 원인 분석 필요
2. 응답 시간 – 사용자 관점
CPU가 서버 관점이라면, 응답 시간은 사용자 입장에서 체감하는 성능이다.
-
도구: 크롬 개발자 도구 → Network 탭
-
확인 방법:
- 사이트 접속
F12→ Network 탭- 페이지 새로고침
- 맨 위
document/html요청의Time또는Duration확인
-
결과:
- 메인 페이지 로딩 시간: 약 240ms
- 유저 입장에서는 딱히 느리다고 느끼기 어려운 속도
내가 머릿속에 잡은 감각:
- ~300ms: 빠른 편 (현재 상태)
- ~1초: 대부분 서비스에서 무난
- 2~3초 이상 계속: 느려졌다고 볼 수 있음 → 원인 분석 필요
3. 에러율 – “잘 동작하는 비율” 보기
퍼포먼스는 속도만이 아니라 얼마나 자주 실패하는지(에러율)도 중요하다.
브라우저 Network 탭에서 상태 코드(Status)를 보면서:
- 보통은
200,204만 나와서 에러율 0% - 존재하지 않는 URL(
…/asfds)에 접속했을 때는 404가 찍히는 걸 확인
여기서 에러율 개념을 이렇게 정리했다.
에러율 = 전체 요청 중 4xx/5xx 비율
예를 들어,
- 요청 10개 중 1개가 404라면 → 에러율 10%
내 기준선:
- 정상: 0~1%
- 경고: 5% 이상
- 위험: 10% 이상 지속 → 로그 확인 & 원인 분석 필요
에러율이 5%를 넘기면 Nginx access 로그에서 어떤 URL이 계속 에러를 내는지 확인하는 것을 내 1순위 액션으로 정해두었다.
4. 오늘 정리 – 내가 만든 간단한 체크 루틴
퍼포먼스 모니터링을 처음 시작하면서 내가 정리한 “문제 생겼을 때 체크 순서”는 이거다.
-
응답 시간 확인 (사용자 관점)
- 크롬 Network 탭 →
Time/Duration
- 크롬 Network 탭 →
-
CPU 사용률 확인 (서버 관점)
htop으로 서버가 과부하인지 확인
-
에러율 감으로 체크
- Network 탭 상태 코드(200/404/500)를 보고
- 에러가 반복되면 Nginx access 로그로 어떤 URL이 문제인지 본다
아직 전문 모니터링 툴(Prometheus, Grafana, APM 등)을 쓰는 단계는 아니지만, 그래도 “감으로 느끼는 게 아니라 숫자와 지표로 보는 습관”을 만드는 첫 걸음은 밟았다고 생각한다.
결론
ProcessMonitoring과 Performance Monitoring모니터링은 다르다
-
Performance Monitoring: 프로세스의 퍼포먼스를 모니터링 서버의 점의률(cpu, mem), 응답 시간 등을 확인함 일정 부분을 넘어가면 관리자한테 알람을 보냄
-
ProcessMonitoring:프로세스가 잘 작동하고 있는지 모니터링, 비정상적으로 종료되었는지 등을 확인