예전에 nginx 을 사용하던 한 웹 서비스가 장애가 나서 확인해 보니 can't identify protocol 라는 내용으로 소켓의 구분이 안되는 경우가 있었다.

 

$ lsof

can't identify protocol

 

ulimit –c 으로 지정된 파일 size를 넘어서면 문제가 되 었다.

 

socket leak (memory leak) 인데, nginx 버전을 최신으로 패치하면서 문제가 해결되었다. nginx는 async 서버라서 소켓을 제대로 close 못하면 이런 현상이 발견되었었다.

 

자세한 내용은 역시 아래 내용으로 살펴봐야 한다.

http://nginx.org/en/CHANGES

 

Bugfix: socket leak.
Posted by '김용환'
,