Tags
- 0x0000007b
- 2차세계대전
- 3.20해킹
- 4대강
- 502 error
- 53빌딩
- 7840hs
- 88체육관 수영장
- ABI
- abortive close
- abortive shutdown
- AHCI
- akmods
- ALC1220
- alma linux
- alternatives
- AM4 메인보드
- AMD
- amd 7840hs
- amd 그래픽 게임용
- amd 내장 그래픽 최적화
- anonymous file
- API
- apple.com
- APT
- apt-get
- Armagnac
- Asrock
- ASTALIFT
- audacious player
Archives
- Today / Yesterday
- /
- Total
Linux Programmer
Linux network tune-up 본문
*TCP auto tuning
네트워크 라인 속도가 충분히 빠르다면 TCP 소켓의 버퍼가 클수록 전송속도에서 유리해진다. 그러나 프로그래머가 일일히 네트워크 라인 속도를 체크하여 소켓 버퍼를 조정하도록 프로그래밍 하는 것은 매우 귀찮은 일이다.
따라서 리눅스나 최근 운영체제들은 운영체제에서 전송속도를 감지하여 자동으로 소켓 버퍼의 크기를 늘려주거나 반대로 줄여주어 쓸데없는 메모리 낭비를 막아주는 기능이 도입되었다.
리눅스에서는 이를 TCP auto tuning이라고 하며 Linux 2.4.16 or 2.6.8 이후부터 제공되었다.
항목 | 값 | 설명 |
---|---|---|
net.ipv4.tcp_moderate_rcvbuf | boolean : 0=off, 1=on | 수신버퍼에 TCP autotuning을 설정 |
net.ipv4.tcp_wmem | vector of 3 integers | 송신 소켓 버퍼의 크기 (min default max값으로 지정) |
net.ipv4.tcp_rmem | vector of 3 integers | 수신 소켓 버퍼의 크기 (min default max값으로 지정) |
net.core.wmem_max | integer | 송신 소켓 버퍼로 지정가능한 최대 메모리 크기 = SO_SNDBUF로 지정가능한 최대값 |
net.core.rmem_max | integer | 수신 소켓 버퍼로 지정가능한 최대 메모리 크기 = SO_RCVBUF 로 지정가능한 최대값 |
이들을 /etc/sysctl.conf 에 등록해두면 매번 부팅때마다 자동으로 설정되도록 할 수 있다. 하지만 이 값을 너무 크게 가져가는 일부 인터넷 문서들은 내용이 틀렸다. 차라리 tuned를 사용하도록 하자. (RedHat이 검증되지 않은 커널 파라메터 문제로 얼마나 골머리를 앓았으면 이런 기능을...)
* net.core.tcp_max_orphans = integer
프로세스에 지정되지 않은 소켓의 최대수
* net.core.netdev_max_backlog = integer
integer : 처리를 위한 장치의 큐 길이(클수록 빠른 클럭에 유리)
e.g. netdev_max_backlog는 패킷 큐 (2.6은 1,000마다 처리)
default value(1000) * 1000 = 1,000,000 (packet/sec)
avg packet size(1500 = MTU)가정할 경우, 초당 패킷 처리량은? = 1,000,000(packet/sec) * 1,500 = 1.5GB
반응형
'컴퓨터 관련 > 리눅스(유닉스) 일반' 카테고리의 다른 글
bash : 기초 : 셸의 역사, 종류 (0) | 2019.10.13 |
---|---|
파일(file)에 대한 토막글 : 파일이란 무엇인가? (20) | 2019.03.08 |
CentOS7 리눅스 한글 입력기 설정 : ibus-hangul (4) | 2018.05.04 |
리눅스에서 5버튼 마우스 사용하기 (4) | 2018.03.19 |
리눅스 아재력 or 할배력 셀프 테스트 (40) | 2016.11.21 |
리눅스의 nvidia 드라이버 설치 (45) | 2014.07.06 |
Fedora 15에서 패키지 자동 설치 (0) | 2011.12.19 |
페도라 13의 새로운 기능과 변경점 (0) | 2010.06.28 |
Comments