네트워크파라미터
maximum file count
- user limit 확인 (프로세스별 제한 설정)
$ ulimit -a
- system limit 확인 (전체 시스템이 가질수 있는 최대 파일 개수 제한)
- 각각 현재 열려 있는 파일의 수, 현재 열려 있으나 사용되지 않는 파일의 수, 열 수 있는 파일의 최대 개수
$ sysctl fs.file-nr
port range
- 어떤 시스템이 동시에 가질 수 있는 클라이언트 소켓 수를 결정하는 커널 파라미터
$ sysctl net.ipv4.ip_local_port_range
- 명령어
$ sysctl -w net.ipv4.ip_local_port_range="32768 65535"
TIME_WAIT socket
- 시스템이 가질 수 있는 TIME_WAIT 상태 소켓 개수 제한
- 이미 이 설정값 만큼의 TIME_WAIT 상태의 소켓이 있다면, TIME_WAIT 상태로 전이되어야 할 소켓은 더이상 대기하지 않고 파괴(destroy)되어 버린다.
즉, gracefully shutdown하지 않고 과격하게 닫혀버리며, 이로인해 클라이언트에서는 불완전한 데이터를 수신하게 될 수 있다.
$ sysctl net.ipv4.tcp_max_tw_buckets
- 명령어
$ sysctl -w net.ipv4.tcp_max_tw_buckets="1024000"
- TW_REUSE 옵션 활성화 여부
- 사용할 수 있는 local port 수가 모자라면, 현재 TIME_WAIT 상태의 소켓 중 프로토콜상 사용해도 무방해 보이는 소켓을 재사용
$ sysctl net.ipv4.tcp_tw_reuse
- 명령어
$ sysctl -w net.ipv4.tcp_timestamps="1" $ sysctl -w net.ipv4.tcp_tw_reuse="1"