[RHEL 공통] 사용하는 네트워크 프로세스가 많을 때 네트워크 파라미터 튜닝하기
본문 바로가기
IT 이야기/Linux

[RHEL 공통] 사용하는 네트워크 프로세스가 많을 때 네트워크 파라미터 튜닝하기

by 찬찬이 아빠 2020. 10. 20.
반응형

서버를 운영하다가 보면 사용하는 네트워크 프로세스가 1000개 이상을 초과할 경우가 있습니다. 이럴 경우 서비스 제공에 지연을 발생시킬 수 있습니다.

 

대부분 네트워크 프로세스를 아래와 같이 체크할 것입니다.

TCP : # netstat -napt | wc -l

UDP : # netstat -napu | wc -l

Network Service Process : #netstat -lptuo

Network WAIT Process Count : #netstat -anpo | grep "WAIT" | wc -l

Network WAiT Process : #netstat -anpo | grep "WAIT" | wc -l

 

네트워크 프로세스를 체크했을 때 사용하는 프로세스 수가 많거나 TIME_WAIT가 많이 발생한다면 네트워크 파라미터를 튜닝할 필요가 있습니다.

 

이때 사용할 수 있는 네트워크 파라미터는 다음과 같습니다.

  • net.ipv4.ip_local_port_range : TCP/UDP에 의해 사용될 local 포트 범위를 지정하고, 기본값은 시스템에서 사용 가능한 메모리에 의해 결정
  • net.ipv4.tcp_timestamps : TIME_WAIT 상태의 소켓에 통신이 이루어진 마지막 시간을 기록
  • net.ipv4.tcp_tw_reuse : TIME_WAIT 상태의 소켓 중 프로토콜상 사용해도 무방해 보이는 소켓을 재사용
  • net.ipv4.tcp_fin_timeout : 소켓이 close되기 전 마지막 FIN을 기다리는 시간

 

해당 파라미터를 설정하기 위해서는 아래와 같이 수행합니다.

# vim /etc/sysctl.conf

net.ipv4.ip_local_port_range = 10240 65535

net.ipv4.tcp_timestamps = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_fin_time = 30

 

위와 같이 설정하고 #sysctl -p로 설정값을 즉시 적용합니다.

추후 시스템 재부팅을 하면 해당 설정값은 자동으로 적용됩니다.

 

네트워크 프로세스가 많을 경우 서비스에 영향을 줄 수 있기 때문에 시스템은 안정적으로 운영하기 위해 네트워크 파라미터 튜닝은 필수 입니다.

 

반응형

댓글