서버 포트 고갈 문제



    지금까지 서버를 운영하게 되면서 DB서버의 접속이 안되면서 데이터를 가지고 오는 현상이 일어나게 되었으며, 정말 당혹스런 상황이였습니다 장애 원인을 찾게되면서 포트 고갈에 원인에 대해서 알게 되었습니다


    그리하여 이번시간에는 서버 포트 고갈에 대한 문제의 대해서 알아보겠습니다.



    포트 고갈은 여러 방식으로 나타날 수 있기 때문에 실별하기가 어렵습니다 아래와 같이 포트 고갈의 일반적인 증상을 알아보겠습니다



    포트 고갈의 대표적인 증상


    1. 서버 연결이 실패합니다. 예를 들어 다음과 같은 오류가 나타날수 있습니다.

    - Unable to connect to the remote server

    - System, Net, Sockets, SoketException


    2. 서버 연결이 초과 됩니다.


    3. 성능이 예상보다 나쁩니다.


    4. 서버가 응답하지 않습니다.







     포트 고갈 문제인지 확인




    1. 이러한 증상이 포트 고갈로 인해 발생하는지 여부를 결정하려면 사용되고 있는 동적 포트의 수를 확인해야 합니다.

    이 작업을 수행하려면 먼저 동적 포트의 범위를 확인한 다음 현재 사용되는 포트를 확인하시기 바랍니다.


    2. 시스템이 재시작한  후 System boot time: 497일이 경과하면 사용된 TCP/IP Port가 종료되지 않고, TIME_WAIT로 존재하게 되며, TCP/IP Port 고갈로 인한 서비스 문제가 발생할 수 있습니다.







     포트 고갈 해결방법




    지금까지 찾은 포트고갈 해결방법은 2가지 입니다 첫번째는 서버 재부팅 이며, 동적 포트를 늘리는 입니다.




    첫번째 서버 재부팅


    해결 방법중 가능 좋은 방법입니다



    동적 포트 범위 늘리는 방법


    초기 설정에는 32767에서 65535 사이의 포트를 포함하도록 범위를 설정하여 시작할 수 있습니다 이범위는 Tableau Server에서 사용하는 포트에 영향을 주지 않습니다


    명령어 - netsh int ipv4 set dynamicportrange tcp start=32767 num=32768 store=persistent



    동적 포트 범위는 32767에서 65535 사이의 포트를 포함하도록 설정되어 있습니다. 하지만 포트 고갈 문제가 계속 발생하면 동적 포트 범위를 더늘리는 과정 입니다. 하지만 이과정이 해결 방법은 아니며 지금까지 서버 운영 과정중에 포트를 늘린하다고 하여 임시적인 해결방법이며, 시스템 엔지니어 견해로 본다면 재부팅하는것이 정확한 판단이라고 생각됩니다.






     포트 고갈의 대한 견해




    Tableau Server가 매우 많은 수의 웹 요청을 수신하는 경우 포트 고갈 문제가 발생할 수 있습니다. 서버의 모든 동적 포트가 사용되고 있으면 포트 고갈이 발생합니다.

    일회성 포트라고도 하는 동적 포트는 단기 연결에 사용하도록 지정된 포트의 범위 입니다.


    Tableau Server가 분산 설치의 일부이거나 다른 서비스와 통합되는 경우 포트 고갈이 발생할 가능성이 더 높아집니다. 두 경우 모두 요청 수가 증가하기 때문에 포트 수가 늘어나게 됩니다.




    Posted by 서버이야기