TCP Tuning
글쓴이: twins99 / 작성시간: 목, 2009/03/12 - 9:28오후
echo 81920 > /proc/sys/net/core/wmem_max
echo 81920 > /proc/sys/net/core/rmem_max
echo "4096 87380 499040" > /proc/sys/net/ipv4/tcp_rmem
echo "4096 16384 324288" > /proc/sys/net/ipv4/tcp_wmem
위 설정파일의 의미와 수치를 조정했을 때 예상 결과가 어떻게 될까요..
제 system을 설정 했을 때 연결된 공유기를 down시키기도 하더군요.
어떤 의미가 있고,다른 장치의 위 수치를 확인할 수 있는 방법이 있을까요?
Forums:
TCP Linux Tuning 우선
TCP Linux Tuning
우선 "TCP Linux Tuning" 이라는 키워드로 구글링을 해보시면 더욱 많은 reference를 찾으실 수 있을 것입니다.
각 아이템에 간하여 간단히 설명드리자면,
1) /proc/sys/net/core/wmem_max: maximum TCP receive window
2) /proc/sys/net/core/rmem_max: maximum TCP sending window
3) /proc/sys/net/ipv4/tcp_rmem: [min, default, max] receive window (used by autotuning)
4) /proc/sys/net/ipv4/tcp_wmem: [min, default, max] sending window (used by autotuning)
일반적으로 Linux TCP 의 default receive window 크기가 작게 설정되어 있으므로, 이것을 늘리는 것은 괜찮을 것 같습니다. (단, 빠른 네트워크에서는 괜찮지만, 느린 네트워크에서는 다른 트래픽을 죽이는 효과를 불러일으킬 수 있겠구요. 즉, fair share 가 안될수도 있습니다.)
sending window 의 최대치를 늘리는 것도 좋기는 한데, 느린 네트워크에서는 별 효과가 없을 것입니다. 빠른 네트워크 (기가비트 정도)에서는 sending window 의 최대치를 늘리면 throughput 증대 효과를 가져올수 있겠네요.
다만, /proc/sys/net/ipv4/tcp_window_scaling 값을 1로 변환시켜 주셔야 합니다. 그렇지 않을경우, 윈도우 값이 65535 이상이 되면 망이 크래시 될수도 있습니다.
제가 여기서 자세히 설명드리기 보다는, Linux TCP/IP 에 대해서 살짝 공부를 한번 해보시는게 어떨까도 싶네요.
다른 장치에서 위 수치를 확인하시고 싶다고 하셨는데, 다른 장치라는건 어떤장치를 말씀 하시는 건가요?
일례로, 윈도우 머신의 경우
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Paramemters\TcpWindowSize 에서 maximum TCP sending window size 등을 설정하실 수 있습니다.
다른 장치라 함은
다른 장치란 것은 다른 장치에서 설정값을 외부에서 알 수 있는 방법이 있을까에 대한 질문이었습니다.
PC같은 장비가 아닌, consol을 볼 수 없는 장비의 경우 network data의 흐름만으로 확인할 수 있는 방법이 있을까 싶어서요.
댓글 달기