리눅스 웹 서버에 부하가 급증했을 때 점검방법 > server

본문 바로가기
사이트 내 전체검색

server

리눅스 웹 서버에 부하가 급증했을 때 점검방법

페이지 정보

작성자 서방님 댓글 0건 조회 161회 작성일 16-02-11 15:57

본문

출처 : http://blog.naver.com/didim365_/220156240578


리눅스 웹 서버에 부하가 급증했을 때 점검방법

 

 

서버 관리를 하다 보면 여러 가지 갑작스럽게 발생하는 현상에 당황하거나, 어디서부터 점검을 해야할지 고민이 많을텐데요.

얼마 전, 고객의 리눅스 웹 서버에 부하가 급증해서 확인하던 중 내용을 공유하면 좋겠다는 생각에 점검 방법에 대해 포스팅하려고 합니다.

이번 문제는 아파치 프로세스가 다량으로 생성되어서 웹 서버에 부하가 급증하여 느려지는 경우였습니다.

 

웹 서버에서 갑자기 부하가 급증해서 확인을 해보니, 아파치 프로세스가 다량 생성되는 경우였고 웹 소스의 문제이거나

SQL 문제, 특정 IP로의 공격, 사용량이 많아지는 경우 등의 원인을 확인하기 위해 아래의 정보들을 확인 했습니다.

 

그럼 저희 엔지니어가 실제 수행한 작업을 간단히 정리해서 살펴보겠습니다.

 

 

1. pstree - 프로세스의 상관관계를 트리 형태로 출력합니다.

 

#pstree -p

 

[옵션]

p: PID 까지 출력합니다.

 

[점검 내용] 

평소에 확인하지 못한 프로세스가 있는지 살펴봅니다. 예)peal 등

 


2. netstat - 네트워크의 연결과 포트를 출력합니다.
 

# netstat -anlp

 

[옵션] 

-a: 소켓을 모두 출력

-n: 도메인 형태가 아닌 IP주소 형태로 출력

-l: LISTENING 상태의 서버 소켓을 출력

-p: 소켓의 PID 프로그램 정보를 출력

 

[점검 내용]

IP 주소 및 연결상태를 확인합니다.

예) 특정 IP로 다량의 접근이 이뤄지거나 특정 상태가 다량 발생했는지 확인합니다.

 

[state 설명]

LISTEN: 서버의 데몬이 떠서 접속 요청을 기다리는 상태

SYS_SENT: 로컬의 클라이언트 애플리케이션이 원격 호스트에 연결을 요청한 상태

SYN_RECEIVED: 서버가 원격 클라이언트로부터 접속 요구를 받아 클라이언트에게 응답하였지만, 아직 클라이언트에게 확인 메시지는 받지 않은 상태

ESTABLISHED: 3Way-Handshaking 이 완료된 후 서로 연결된 상태

FIN_WAIT1, CLOSE_WAIT, FIN_WAIT2: 서버에 연결을 종료하기 위해 클라이언트에게 종결을 요청하고 회신을 받아 종료하는 과정의 상태

CLOSING: 흔하지 않지만 주로 확인 메시지가 전송 도중 분실된 상태

TIME_WAIT: 연결은 종료되었지만, 분실되었을지 모를 느린 세그먼트를 위해 당분간 소켓을 열어놓은 상태

CLOSED: 완전히 종료


3. lsof - 실행 중인 파일과 프로세스의 정보를 출력합니다.

 

# lsof c httpd

# lsof -i tcp

# lsof -i udp

 

[옵션]

-c: 지정한 COMMAND 필드의 내용만 출력

-i: 현재 사용하는 소켓 정보를 출력

 

[점검 내용]

특정 계정의 디렉터리가 httpd 프로세서에 물려있는지 확인하고 TCP 와 UDP의 소켓정보를 확인합니다.


4. mysqladmin processlist - 상태를 확인합니다.

 

#mysqladmin -uroot -p processlist

 

[점검 내용]

MySQL에 접속한 사용자(클라이언트) 리스트를 확인합니다.

이번 문제는 pstree -p 명령어로 httpd 자식 프로세스가 다량 발생한 것을 확인하였고, 해당 내용을 조치하여 해결하였습니다.

 

일반적으로, 안내 드린 1~4번 항목의 정보들을 토대로 WEB이나 DB의 문제인지, 특정 IP 에서의 접근이 문제인지 확인 후 조치하면 됩니다.

 

댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
89
어제
84
최대
1,347
전체
154,460
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.