안녕하세요. 대머리독수리팀 입니다.
오늘은 NCP의 대표적인 트러블 슈팅 사례에 대해서 알아보도록 하겠습니다.
적절한 용량 산정
1. 컴퓨팅 파워
- IO Wait이 발생하는 시점부터 서비스 품질은 떨어지기 시작
- SWAP을 사용하는 경우 메모리 증설\
- 관련 명령어 : sar, ps, top
2. 네트워크
- 동접 기준으로 파일(페이지)를 기한내에 전송할 수 있을지를 가지고 산정
- 서버의 경우 전송 속도 500Mbps 기준으로 서버 대수 산정
- CDN의 경우 가용량 기준으로 산정
3. 용량 산정 주요 지표
- 파일(페이지)크기
- 동접
성능 측정
1. 웹서비스
- WMS
- Ngrinder
- Prinpoint
- AB
2. MySQL 성능측정
- Percona TPCC
- sysbench
- Apache Jmeter
3. AB의 설치
- Yum install httpd-tools
4. AB 옵션
- -n : 요청수
- -c : 동시에 요청하는 요청 수
- -g : 측정한 모든 값을 gunplot 혹은 TSV 파일로 기록
- -t : 성능을 검사하는 최대 시간 (초단위)
- -v : 출력에 대한 상세한 정보 지정
- 4 : 헤더에 대한 정보
- 3 : 응답코드
- 2 : 정보
- -X : 프록시 서버를 사용하여 요청
문제 진단을 위해 활용가능한 상품
1. 웹서비스
- WMS
- Pinpoint
2. DB
- Cloud for MySQL
- DB Dashboard
- OS Dashboard
- DB Logs
- Query TimeLine
- Cloud for MS-SQL
- DB Dashboard
- Performance
- DB Logs
문제 해결을 위한 명령어들
1. Linux
- tcpdump
- 트래픽 모니터링
- 네이버 클라우드 플랫폼의 서버들이 경우 LB로 연결된 구조의 경우 사용이 제한적
- 일반적인 사용법
- 호스트 관련
- Tcpdump host
- Tcpdump src
- Tcpdump dst
- Tcpdump net
- 프로토콜 관련
- Tcpdump port
- Tcpdump src port
- Tcpdump dst port
- 호스트 관련
- Nmap
- 포트스캔용 툴
- 오픈되어 있는 포트에 대해 스캔
- 호스트 뿐만 아니라 대역으로도 탐지
- 응용프로그램 버전 및 OS 탐지
- Linux와 Windows 버전 사용 가능
- Traceroute
- ICMP와 TTL을 이용하여 경로를 확인하는 프로그램
- Windows에서는 tracert
- 최근의 네트워크 장비들은 ICMP에 대해 응답하지 않음
- 글로벌 환경에서 어떤 회선을 타고 가는지 확인이 필요할 경우 사용
- Sar
- 리소스 사용량에 대한 로그 조회
- Linux에서 시스템에 대한 광범위한 모니터링
- CPU 사용률, 메모리, iowait, 로드를 비롯한 다양한 정보를 확인 가능
- PS
- 현재 프로세스를 확인하는 명령어
- Top과 유사
- Lsof
- 현재 프로레스가 사용(오픈)하고 있는 파일 리스트 출력
- 특정 프로세스가 CPU 점유율이 높을 경우 어떤 문제인지 확인하기 위해 사용
- Ping
- ICMP를 이용한 프로그램
- 해당 호스트가 살아있는지 죽어 있는지 방화벽에 의해 막혀있는지 확인하기 위해 사용하는 기초적인 명령어
- Windows와 Linux에서의 옵션은 서로 상이
2. Windows
- Microsoft Message Analyzer
- Netmon의 업그레이드 버전
- 이벤트 뷰어(eventvwr)
- Winodows의 syslog
- 주로 살펴봐야하는 항목
- Winodws 로그 > 시스템
- 시스템 Fault가 발생할 경우 이에 대한 로그 기록
- Windows 로그 > 보안
- 시스템 로그인 내역
- Windows 로그 > 응용 프로그램
- 응용 프로그램의 다양한 로그 기록
- 응용 프로그램 및 서비스 로그
- 응용 프로그램, 서비스에 대한 이벤트 로그 기록
- Winodws 로그 > 시스템
- Performance Monitor (perfmon)
- PSTools
- 성능모니터
- Windows 의 Sar
- Windows 시스템의 광범위한 리소스 모니터링
- Processor
- Process
- Memory
- System
- Network interface
- Physical Disk / Logical Disk
- TCPView
- Windows 시스템의 TCP/UDP에 대한 상세 정보 확인
- Process, PID, Protocol, Address/Port, State, Packet Size
- 작업중인 시스템의 오픈 된 네트워크 연결 프로세스 확인
- Windows 시스템의 TCP/UDP에 대한 상세 정보 확인
문제 해결을 위한 Log
1. Linux
- 일반적인 시스템 로그
- /var/log
- HTTPD 로그
- /var/log/httpd
2. Windows
- Eventvwr을 통한 로그 모니터링
Logrotate
1. 시스템 연속성 보장을 위해 디스크 사용률 관리는 필수
- 리눅스의 경우 / 파티션이 Full이 되는 순간 서비스 정지
- 디스크의 사용률을 높이는 요인
- 로그
- DB 데이터
2. 로그에 대하여 정해진 처리 방시으로 삭제하거나 파일을 바꿔주는 역할
- 로그 파일을 바꿔줌으로써 시스템 성능을 높이는 역할 수행
커널 파라미터 변경
1. Sysctl 명령어를 이용한 변경
- Linux의 경우 커널 파라미터를 변경함으로써 성능을 변경할 수 있다.
2. Sysctl.conf
- 리눅스 커널 파라미터 중 주요한 항목에 대한 설정
3. Limits.conf
- 사용자별 limit 설정
- 프로세스, 오픈 파일 등이 sysctl.conf 파일과 함께 변경되어야 효과
4. 파일 확인
- 오픈할 수 있는 파일 개수 확인 cat /proc /sys /fs /file-nr
- 변경
- /etc/sysctl.conf
- fs.file-max = 819200
5. TCP 타임 아웃
- 확인 sysctl -a | grep keep
- net.ipv4.tcp_keepalive_time = 3600
6. Limits.conf
- 사용자별 limit 설정
- 프로세스, 오픈 파일 등이 sysctl.conf 파일과 함께 변경되어야 효과
'CSP (Cloud Service Provider) > NAVER Cloud' 카테고리의 다른 글
[Naver Cloud Platform] RUA, ELSA, Cloud Hadoop, Elasticsearch, Cloud Data-streaming 소개 (1) (0) | 2022.09.05 |
---|---|
공공기관용 NAVER Cloud SSL VPN 소개 (0) | 2022.09.02 |
[Naver Cloud Platform] Analytics 상품군 및 CLA 소개 (0) | 2022.08.22 |
[Naver Cloud Platform] 클라우드 인프라의 안정적인 운영을 위한, Management 서비스 (1/2) (0) | 2022.07.28 |
[Naver Cloud Platform] 네트워크 기초와 네이버클라우드 플랫폼 Database 상품군 소개 (0) | 2022.07.18 |
댓글