서버의 성능이 평소보다 떨어지는 바람에 영위하는 업무나 서비스에 지장을 초래하는 경우가 있지요. 원인이 금방 안 나오면 일은 커져요. 대개는 복합적이니까요.
CPU 자원을 100%씩이나 차지하여 내려가지를 않고요. 메모리가 부족하여 프로세스끼리 다투거나 꼬이는 데다가요. 디스크 사정으로 I/O에 병목이 생기기도 하죠.
결함없는 프로그램은 실제 드물어요. 불필요해진 버퍼를 비우지 않고 계속 잡아두는 바람에 메모리를 고갈시키거나 누수를 일으키구요. 덧대고 덧댄 SQL 쿼리 또한 결과 출력에 시간을 꽤 잡아 먹어요.
게다가 네트워크 대역폭 제한이 있을 수 있구요. 동시 접속자들이 몰리면 대기는 마냥 늘어나요. 각종 봇이나 악성 뭘웨어들도 한 몫을 독특히 해요. 때로는 DDoS 공격을 받구요.
이러한 이유들로 서버나 서비스가 느려졌을 때 자체적인 해결과 개선이 어려울 수 있어요.
【하드웨어】
- CPU
- RAM
- I/O
- NIC
- FAN
- PSU
【운영체제】
- 부팅
- 로그인
- 원격접속
- 프로그램 로딩
- 공격
- 봇, 멀웨어
【서비스】
- 웹, 앱, API, 애플리케이션
- WAS
- 파일
- 관계형 데이터베이스
- HA
- HPC
- 프록시, VPN
- 컴파일, 렌더링, 빌드
【네트워크】
- Public
- Private LAN
- VLAN
- WIFI
- ping
- routing
- 저속 연결
- SMB, CIFS, NFS 상에서 열기, 복사, 저장, 백업
【점검】
- 서버 사양
- 열화 하드웨어
- 하드웨어 진단 도구
- 시스템 로그
- 운영체제 로그
- CPU, RAM, GPU, DISK 사용 현황
- NIC, 네트워크
- 계정과 그룹 권한
- 서비스, 프로세스, 세션 현황
- 서비스 로그
- 응용프로그램 로그
- SQL 쿼리문
- 프로토콜, 패킷, 트래픽
- 악성코드, 뭘웨어
- 방화벽
- 서버관리 도구
【조치】
- 부품교체 또는 업그레이드
- 운영체제 업데이트, 업그레이드, 패치, 최적화
- 서비스 업데이트
- 서비스 튜닝
- 스크립트언어 기반 서비스인 경우 코드 수정
- SQL 최적화, 쿼리 수정
- 보안, 방어, 단속 툴 추가 및 설정
- 계정, 디렉터리의 실행 권한 제한
- 프로세스, 프로토콜, 포트 정리
- 방화벽 룰 편집
- DDoS 우회
- 유해봇 접근 차단
- 악성코드, 뭘웨어 제거
- 백신 설치, 감시, 검사 설정 및 액션
- 기타 점검중에 알게된 문제점들 보완
답글 남기기