1 (изменено: Евген, 2010-10-05 20:04:55)

Тема: VBS: Тюнинг сетевых настроек

Все ,наверное ,когда нибудь пытались заниматься тюнингом настроек винды с помощью твикеров и т.д.  и т.п., я тоже был не исключение, пока несколько раз не погубил винду этими твикерами, после этого - я решил самостоятельно изучать параметры и придаваемые им значения. Целью тюнинга я выбрал сетевые настройки (без разницы хоть для локальной сети, хоть для интернета).
Для тюнинга настроек в Windows XP наработан пока что следующий скрипт,

Set WshShell=CreateObject ("WScript.Shell")
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
 
strKeyPath = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
 
' очистка от мусора и старых значений в подветках интерфейсов

For Each subkey In arrSubKeys

On Error Resume Next
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\TcpAckFrequency"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\TcpDelAckTicks"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\MTU"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\KeepAliveInterval"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\KeepAliveTime"
WshShell.RegDelete "HKLM\" & strKeyPath & "\" & subkey & "\EnableDeadGWDetect"
On Error Goto 0
Next

' очистка от мусора и старых значений в глобале

On Error Resume Next
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DeadGWDetectDefault"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveInterval"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpDelAckTicks"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpAckFrequency"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MTU"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adaptive_ifs"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\GlobalMaxTcpWindowSize"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SearchList"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDupAcks"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpWindowSize"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SackOpts"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters\NonBlockingSendSpecialBuffering"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxConnectResponseRetransmissions"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDataRetransmissions"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxHalfOpen"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxHalfOpenRetried"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxPortsExhausted"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SynAttackProtect"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxHashTableSize"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\FFPControlFlags"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NumTcbTablePartitions"
WshShell.RegDelete "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TimedWaitDelay"
On Error Goto 0

' прописывание глобальных настроек

WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay",30,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnablePMTUDiscovery",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableDeadGWDetect",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnablePMTUBHDetect",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SackOpts",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableTaskOffload",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableLargeSendOffload",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableDHCPMediaSense",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\SmbDeviceEnabled",0,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Tcp1323Opts",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort",65534,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DefaultTTL",128,"REG_DWORD"
WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpNumConnections",16777214,"REG_DWORD"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRemoteRecursiveEvents",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRemoteChangeNotify",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDetailsThumbnailOnNetwork",1,"REG_DWORD"
WshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\NoNetCrawling",1,"REG_DWORD"

strKeyPath = "SYSTEM\CurrentControlSet\Services"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
 

' прописка для Intel'овских карточек адаптивной технологии

For Each subkey In arrSubKeys
If Left(ucase(subkey),5)="E100B" Then
WshShell.RegWrite "HKLM\" & strKeyPath & "\" & subkey & "\Parameters\Adaptive_ifs",1,"REG_DWORD"
End If
Next

' прописка в подветках интерфейсов

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled=True") 
For Each objItem in colItems 
    If Not isNull(objItem.IPAddress) Then
    WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & objItem.SettingID & "\TcpAckFrequency",1,"REG_DWORD"
    WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" & objItem.SettingID & "\MTU",576,"REG_DWORD"
    End If
Next

После отработки скрипта обязательно перезагруз !
Дополнительно к скрипту протокол QoS включаю ограниченным в 0% и в результате карточка Realtek 8139 с такой же точно, при копировании файла в локале имеют 96% использования сети, ИМХО не плохо против 80%...
Кто дружит с сетевым тюнингом - прошу откликнитесь...

Времени не хватает... :-(

2

Re: VBS: Тюнинг сетевых настроек

протокол QoS включаю ограниченным в 0% и в результате карточка Realtek 8139 с такой же точно, при копировании файла в локале имеют 96% использования сети, ИМХО не плохо против 80%...

Я никогда не видел разницы, что с включённым, что с отключённым, что с удалённым QoS: Миф о 20 % в Windows XP.

3

Re: VBS: Тюнинг сетевых настроек

alexii пишет:

Я никогда не видел разницы, что с включённым, что с отключённым, что с удалённым QoS: Миф о 20 % в Windows XP.

Через gpedit.msc нужно включить и выделить под него 0%

Времени не хватает... :-(

4

Re: VBS: Тюнинг сетевых настроек

Я же говорю — не видел разницы.

5 (изменено: Евген, 2010-10-06 18:42:18)

Re: VBS: Тюнинг сетевых настроек

Не спорю... вот объяснение этому, но предостерёгся от таких программ на всякий пожарный...
На сколько помню винда при стандартных условия с Realtek'овской карточкой выдаёт от 80 до 82 процентов использования, у меня достигнут результат получше,
к Intel'овским карточкам это не совсем подходит (хуже не будет), но у них драйвер использует (включает по ходу копирования) какие-то свои технологии, и достигаются те же самые 96% !!!
Intel'ы молодцы, с этим не поспорить, но и та же самая 100 мегабитная сетевая карточка у них стоит в несколько раз дороже !!! Для сравнения стоимость Realtek 8139
Но можно этого же результата достигнуть на 8139 после тюнинга этим скриптом...
Если есть попробовавшие - прошу отписаться...

Времени не хватает... :-(

6

Re: VBS: Тюнинг сетевых настроек

У меня встроенная Realtek без всякого шаманства выдавала 95% (или побольше, давно экспериментировал). Asus p4pe-x/te.

7

Re: VBS: Тюнинг сетевых настроек

Сегодня выдавил из Realtek'а думаю на максимум
http://korosteleff.narod.ru/Network_usage.bmp

Времени не хватает... :-(