life/info

윈도7 인터넷 핑 줄이기

재삐신생 2012. 2. 18. 22:16
반응형

### 2010.09.16 13:31 작성됨

윈도7 인터넷 핑 줄이기

주의

이 글은, 인터넷 속도의 저하를 가져올 수 있으므로 무작정 따라하지 말길 바란다.

글쓴이가 쓰는 윈도7 64bit UltimateK를 기준으로 작성한다.

참조 : http://www.speedguide.net/read_articles.php?id=2574

참조 : http://technet.microsoft.com/ko-kr/library/cc785859(WS.10).aspx

http://blogs.msdn.com/b/wndp/archive/2006/05/05/winhec-blog-tcpip-2.aspx

http://support.microsoft.com/?kbid=912222

http://jasmin.textcube.com/129

CMD창을 열고

netsh int tcp show global

를 쳐보자

그럼 여러옵션들의 설정상태 확인이 가능하다.

Disable Windows Scaling heuristics

윈도7의 TCP Auto-Tuning처리를 자동변경하는 기능

일단, 윈도의TCP설정을 변경하기 위한 필수옵션!?정도 되겠다.

netsh int tcp set heuristics disabled

possible settings are: disabled,enabled,default (sets to the Windows default state)
recommended: disabled (to retain user-set auto-tuning level)

해당 레지스트리값은 (netsh설정시 필요업음)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters
EnableWsd=0
(default: 1, recommended: 0)

TCP Auto-Tuning

이옵션은 tcpwindowsize(RWIN)를 유연하게 자동으로 변경하는 기술인데, 이게 완벽하지 않은 모양이다.그래서 꺼주자.

netsh int tcp set global autotuninglevel=disabled

=>창크기 자동 조정 수신 기능 RWIN receive window ( 65536 bytes 으로 고정 )


The default auto-tuning level is "normal", and the possible settings for the above command are:

disabled: uses a fixed value for the tcp receive window. Limits it to 64KB (limited at 65535).
highlyrestricted: allows the receive window to grow beyond its default value, very conservatively
restricted: somewhat restricted growth of the tcp receive window beyond its default value
normal: default value, allows the receive window to grow to accommodate most conditions
experimental: allows the receive window to grow to accommodate extreme scenarios (not recommended, it can degrade performance in common scenarios, only intended for research purposes. It enables RWIN values of over 16 MB)

Compound TCP - Improve throughput

윈도서버2008에서 사용하는 속도향상 기술인데, 사용을 적극 추천한단다. 기본값은 꺼진상태

공격적으로 tcp send window를 증가시킨단다.

CTCP켜기:

netsh int tcp set global congestionprovider=ctcp

CTCP끄기:

netsh int tcp set global congestionprovider=none

가능한 옵션: ctcp, none, default (restores the system default value).
Recommended setting: ctcp

아무튼 핑과의 관계를 아직 잘 모르겠다.


ECN Capability

ECN (Explicit Congestion Notification, RFC 3168)

ECN기능에 대한 전문지식은 잘모르고, 재전송을 줄인다는데, 패킷손실 우려가 있나보다, 일단 켜보고 문제가 발생하면 다시 끄도록하자

ECN기능 켜기 명령어:

netsh int tcp set global ecncapability=enabled

가능한 온션: enabled, disabled, default (restores the state to the system default).
The default state is: disabled
Recommendation: enabled (only for short-lived, interactive connections and HTTP requests with routers that support it, in the presense of congestion/packet loss), disabled otherwise (for pure bulk throughput with large TCP Window, no regular congestion/packet loss, or outdated routers without ECN support).

RSS - Receive-side Scaling(수신측 배율)

2코어 이상의 멀티프로세서로 처리를 돕는기능

켜주자

To set RSS:

netsh int tcp set global rss=enabled

Possible rss settings are: disabled, enabled, default (restores rss state to the system default).
Default state is: enabled
Recommended: enabled (if you have 2 or more processor cores and a NIC that can handle RSS)

TCP Chimney Offload

데이터 처리 작업을 향상하는 기술

자세한 사항은 http://windows.microsoft.com/ko-KR/windows-vista/What-is-TCP-Chimney-Offload

To set TCP Chimney Offload:

netsh int tcp set global chimney=enabled
Default state: disabled (under Vista), automatic (under Windows 7 and 2008 Server)
Recommended: enabled

The possible states are disabled, enabled, default (Vista), automatic (only Windows 7 and 2008 Server) as follows:

automatic - This default setting is only available under Windows 7 and 2008 Server, it is not available udner Vista. It offloads if the connection is 10 GbE, has a RTT < 20ms, and the connection has exchanged at least 130KB of data. The device driver must also have TCP Chimney enabled.
default - this setting restores chimney offload to the system default. Setting this "default" state under Windows 7 and 2008 Server is possible, but it sets the system to the "automatic" mode described above.
disabled - this setting is maually configured as disabled.
enabled - this setting is manually configured as enabled.

Direct Cache Access (DCA)

메모리 직접 액세스

To enable DCA:

netsh int tcp set global dca=enabled
가능한 옵션: enabled, disabled.
Default state: disabled
Recommended: enabled (provided the CPU/Chipset/NIC support it)

netsh대신에 레지스트리 수정으로도 가능함

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
EnableDCA=1
(DWORD, entry does not exist by default. Set to 1 to enable, 0 to disable)

RFC1323 ( TCP Extensions for High Performance )

창 배율 조정 옵션
기존 NT와 달리 W2K 부터 적용된 'Large Windows (RFC1323)' 옵션은 수신측 버퍼의 크기를 기존 64K(65535Byte/16bit)에서 'scale factor of 0~2^14(0, 2, 4, 8, 16 ~ 16384)' 을 이용해 이론적으로 2^30(1GB/32bit)까지 확장해 주는 옵션이다.

host 측이 'window scale option' 을 지원하지 못 할 경우, 64K로 동작한다. Vista 의 경우 'scale factor of 8'이 기본값인데 host 가 제대로 지원 못해 느려지는 현상이 있다고 한다. 기본적으로 Windows 에서 이 옵션의 사용을 적극 권장하며 MTU 값이 클수록 필수 옵션이다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
Tcp1323Opts=1 (DWORD, "netsh int tcp set global autotuninglvl=..."명령어 사용시 윈도에서 자동 생성, set to 0 by default).
가능한 옵션 :
0 (disable RFC 1323 options)
1 (window scaling enabled only) : 수신 윈도우 크기를 64K ~ 1GB(-1)까지 사용 가능
2 (timestamps enabled only) : 왕복전송시간 측정에 12Byte 사용으로 Data 영역 감소
3 (both options enabled)

netsh int tcp set global timestamps=disabled(기본값)

"netsh int tcp set global timestamps=enabled"시 레즈스트리상에 Tcp1323Opts=2 추가됨

Setting this seems to have no effect, since auto-tuning uses the TCP 1323 scale factor and changes it on the fly, disregarding this setting. Additional testing may be required to determine it's effect if auto-tuning is turned off. Setting it to 1 is best for broadband connections.

라운드트립 시간RTT


netsh int tcp set global timestamps=disabled
netsh int tcp set global dca=disabled
netsh int tcp set global netdma=enabled

반응형