|
Unless specifically mentioned, the
recommendations in this section relate to Windows NT
Server 4.0.
1. The most obvious, but
often forgotten item - set the NT memory strategy to
"Maximize Throughput for Network
Applications". By default it is set to
"Maximize Throughput for File Sharing" which allocates
all available to NT memory to file cache. Set under
Control panel -> Network -> Server.
2. Disable all
unneeded services and drivers.
Disable all of these: Services:
Alerter, Computer Browser, DHCP client, Messenger,
Server, Task Scheduler Devices: Parallel, ParPort,
ParVdm, Serial, WINS Client Also unbind the Netbios
Interface and Wins Client (TCP/IP) from the network
bindings.
3. Disable
performance boost for foreground
applications.
Set in ControlPanel -> System
-> Performance. Move the Application Performance
slider to None. This gives the security servers the
maximum amount of system resources.
4. Pagefile
optimization.
Create a fixed size (do not allow
it to grow dynamically) page file of at least 2 times
the amount of RAM available on a another (preferably
dedicated) disk drive.
5. Tuning TCP/IP registry
values to improve network
performance.
Parameters that affect the IP
forwarding performance:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters \ForwardBufferMemory =
296960
REG_DWORD, multiple of 256,
default 74240. Buffer the IP allocates to store packet
data in the router queue. The default value is enough
for 50 1480-byte packets.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters \NumForwardPackets =
200
REG_DWORD, default 50. Number of
IP headers allocated for router queue. Should be at
least as large as ForwardBufferMemory / IP data size of
the network.
Increasing these two parameters can
have significant effect on throughput especially with
'slow' policies. Also good for FloodGate-1
tuning.
Other TCP/IP stack
parameters:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters \TcpWindowSize
REG_DWORD, default 8760 for Ethernet.
Larger TCP receive window size will improve performance
over high-speed networks. For highest efficiency should
be even multiple of TCP Maximum Segment Size
(MSS).
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters \MaxFreeTcbs =
0xFA0
REG_DWORD, default 2000,
timewait table size
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters \MaxHashTableSize =
0x400
REG_DWORD, default 512, TCB hash
table size
Increase the number of TCP user
ports available to applications - prevents the security
server from running out of ports:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters \MaxUserPort =
65534
REG_DWORD, default
5000
Note: The NT
registry keys mentioned in this document for improving
IP Forwarding under HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Tcpip\Parameters,
such as \ForwardBufferMemory, do NOT
exist by default. They have to be manually created.
6. Tuning the
general Windows NT network interface (NIC) parameters
for maximal performance.
Change the
ProcessorAffinityMask:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NDIS\Parameters \ProcessorAffinityMask =
0
This improves the CPUs servicing of
interrupts and DPCs generated by the network interface
card(s). Also unties the NIC from a specific
CPU.
7. Tuning the
specific vendor's NIC parameters for maximal
performance.
Tuning the relevant NIC parameters
can have significant performance effect.
Although the NIC Setup Interface
and the NIC tunable parameters (properties) are
proprietary to the specific network adapter most of the
basic tunable parameters may be common to other
brands/models.
7.1 Intel PRO/100+ PCI Fast
Ethernet network adapter.
Under
ControlPanel->Network->Adapter
Properties->Advanced:
1. Adaptive Performance Tuning set
to Maximal Adapter Bandwidth 2. Receive Buffers =
256 3. Transmit Control Blocks = 64 4.
Coalesce Buffers = 16
The actual performance effect of
these tunables depends on many factors such as traffic
type, packet sizes, etc, so it is advised, if such
opportunity exists, to experiment with the values for
the maximal performance gain. Otherwise use values
listed here. |