윈도우즈 시스템이 TCP 포트 부족으로 인해 mysql 데이터베이스에 접근할 수 없는 문제를 해결하다

3168 단어 운영 체제
윈도우즈 서버에서 데이터를 대량으로 처리할 때 아래의 이상이 발생하면 연결 수를 다 써서 다시 연결을 만들 수 없다는 뜻이다.
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The driver was unable to create a connection due to an inability to establish the client portion of a socket.

This is usually caused by a limit on the number of sockets imposed by the operating system. This limit is usually configurable. 

For Unix-based platforms, see the manual page for the 'ulimit' command. Kernel or system reconfiguration may also be required.

For Windows-based platforms, see Microsoft Knowledge Base Article 196271 (Q196271).
    at sun.reflect.GeneratedConstructorAccessor16.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

기본적으로 Windows에서는 임시 TCP 포트 5000개를 사용할 수 있습니다.모든 포트가 종료되면 TIMEWAIT 상태는 120초간 유지됩니다.새 연결을 다시 초기화하는 것보다 더 낮은 비용으로 연결을 다시 사용할 수 있습니다.그러나 이 시간이 지나기 전에는 이 포트를 다시 사용할 수 없습니다.사용 가능한 작은 TCP 포트 스택(5000) 및 TIMEWAIT 상태의 대량의 짧은 시간 안에 켜고 끄는 TCP 포트는 포트 소모 문제에 부딪힐 수 있습니다.우리는 등록표 설정을 수정해서 문제를 해결할 수 있습니다. 1, 등록표 편집기를 시작합니다.
2, 레지스트리에서 다음 키 값 위치 결정: HKEYLOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters "편집"메뉴에서 "값 추가"를 클릭하고 다음 등록 값을 추가합니다:Value Name: MaxUserPort Data Type: REGDWORD Value: 65534는 모든 사용자에게 제공되는 임시 포트 수를 설정하는 데 사용됩니다.유효한 범위는 5000에서 65534 사이(10진수)입니다.기본값은 0x1388(5000, 10진수)입니다.
3, [편집] 메뉴에서 [값 추가]를 클릭하고 다음 등록 값을 추가합니다. Value Name: TcpTimedWaitDelay Data Type: REGDWORD Value: 30 TCP 포트 연결을 TIMEWAIT 상태의 시간입니다.유효한 범위는 0초와 300초 사이입니다.기본값은 0x78(120초)입니다.
4, 등록표 편집기를 종료합니다.
5, 서버를 재부팅합니다.

좋은 웹페이지 즐겨찾기