- 浏览: 4744792 次
- 性别:
- 来自: 济南
最新评论
-
wahahachuang8:
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的 ...
服务器推送技术 -
pdztop:
inffas32.asm(594) inffas32.asm( ...
zlib 在 Visual Studio 2005 下编译失败的解决办法 -
myangle89:
这个方法有效果,但还是绕了一大圈。另外:如果每次这样使用,会造 ...
利用 Spring 与 Log4J 巧妙地进行动态日志配置切换并立即生效 -
lsw521314:
亲,请把用到的包贴出来好么?这版本问题搞得我头大······· ...
lucene MMAnalyzer 实现中文分词 -
guji528:
多命令执行:cmd /k reg delete "H ...
REG Command in Windows XP - Windows XP REG命令的作用和用法
优化Windows服务器网络性能 - Optimizing Network Performance
Optimizing Network Performance
In a BizTalk Server environment where the BizTalk Server computer(s) are separate from the SQL Server computer(s), each and every message processed by BizTalk Server requires communication over the network. This communication includes considerable traffic between the BizTalk Server computers and the BizTalk Message Box database(s), the BizTalk Management database(s), the BAM databases, and other databases. In high-load scenarios, this communication can result in considerable network traffic and can become a bottleneck, especially when network settings have not been optimized, not enough network interface cards are installed, or insufficient network bandwidth is available.
This topic provides some general recommendations for improving network performance and describes several registry entries that can be modified to optimize the network stack to mitigate the occurrence of bottlenecks on the network.
Some of the recommendations in this topic require modifications to the Windows registry. Incorrect use of Registry Editor may cause problems requiring you to reinstall your operating system. Use Registry Editor at your own risk. For more information about how to back up, restore, and modify the registry, see the Microsoft Knowledge Base article "Description of the Microsoft Windows registry" at http://go.microsoft.com/fwlink/?LinkId=62729.
<!----> |
<!---->
Adjusting network settings to optimal values has been shown to effectively address network bottlenecks and improve overall network performance in BizTalk Server solutions. This should be done on all computers involved in the solution, including BizTalk Server computers, SQL Server computers, and any other server computers.
The most common indicator that Network IO is a bottleneck is the counter “SQL Server:Wait Statistics\Network IO waits”. When the value for Avg Wait Time in this counter is greater than zero on one or more of your SQL Server computers, then Network IO is a bottleneck.
<!----> |
<!---->
The following recommendations can be used to increase network performance:
Add additional network cards to computers in the BizTalk Server environment
Just as adding additional hard drives can improve disk performance, adding additional network cards can improve network performance. If the network cards on the computers in your BizTalk Server environment are saturated and the card is a bottleneck, consider adding one or more additional network cards to improve performance.
Implement network segmentation
Follow the recommendations in the Subnets section of the "BizTalk Server Database Optimization" whitepaper at http://go.microsoft.com/fwlink/?LinkID=101578.
Where possible, replace hubs with switches
Switches contain logic to directly route traffic between the source and destination whereas hubs use a broadcast model to route traffic. Therefore switches are more efficient and offer improved performance.
Remove unnecessary network protocols
Windows Server computers sometimes have more network services and protocols installed than are actually required. Each additional network client, service or protocol places additional overhead on system resources.
In addition, each installed protocol generates network traffic. By removing unnecessary network clients, services and protocols, system resources are made available for other processes, excess network traffic is avoided and the number of network bindings that must be negotiated is reduced to a minimum.
To see the currently installed network clients, protocols and services, follow these steps:
- Click Start, point to Settings, and then click Control Panel.
- Double-click Network Connections to display the network connections on the computer.
- Right-click Local Area Connection (or the entry for your network connection), and then click Properties to display the properties dialog box for the network connection.
- To remove an unnecessary item, select it and click Uninstall. To disable an item, simply clear the checkbox associated with the item.
If you are unsure about the effects of uninstalling an item for the connection, then disable the item rather than uninstalling it. Disabling items allows you to determine which services, protocols and clients are actually required on a system. When it has been determined that disabling an item has no adverse affect on the server, the item can then be uninstalled.
In many cases, only the following three components are required for operation on a standard TCP/IP based network:
- Client for Microsoft Networks
- File and Printer Sharing for Microsoft Networks
- Internet Protocol (TCP/IP)
Scalable Network Pack
The Scalable Network Pack (SNP) contains enhancements to support network acceleration and hardware-based offloading features present in some newer network cards. Installing the Scalable Network Pack (enabled by default in Windows Service Pack 2,) may enable performance gains on some systems, however, on some systems you may experience network related problems, such as slow network performance or the inability to use some networking protocols such as RDP or FTP.
If you experience network problems after installing Windows SP2, uninstalling, or disabling the SNP may resolve these issues. For more information on removing or disabling the SNP, see http://support.microsoft.com/kb/948496.
Network adapter drivers on all computers in the BizTalk Server environment should be tuned for performance
Adjust the network adapter device drivers to maximize the amount of memory available for packet buffering, both incoming and outgoing. Also maximize buffer counts, especially transmit buffers and coalesce buffers. The default values for these parameters, and whether they are even provided, vary between manufacturers and driver versions. The goal is to maximize the work done by the network adapter hardware, and to allow the greatest possible buffer space for network operations to mitigate network traffic bursts and associated congestion.
Steps to tune network adapter drivers vary by manufacturer.
<!----> |
<!---->
Follow these steps to access settings for network adapters in Windows Server 2003:
- Click Start, point to Settings, click Control Panel, and then double-click Network Connections.
- Right-click Local Area Connection (or the name of your network connection), and then click Properties.
- On the General tab, click Configure.
- Click the Advanced tab to access properties that can be configured for the network adapter.
The following properties should be configured for each network adapter in the BizTalk Server environment:
You apply these settings for each physical network adapter, including the individual network adapters within a teamed set of network adapters that are configured for aggregation, load balancing, or fault tolerance. With some teaming software, you might need to apply these settings to the team also. Note that some network adapters are self-tuning and may not offer the option to configure parameters manually.
<!----> |
<!---->
- Power Option – Configure the network adapter driver to prevent power management functionality from turning off the network adapter to save power. This functionality may be useful for client computers but should seldom, if ever, be used on a BizTalk Server or SQL Server computer.
- Fixed Speed/Duplex (do not use AUTO) - It is very important that the network speed, duplex, and flow control parameters are set to correspond to the settings on the switch to which they are connected. This will mitigate the occurrence of periodic “auto-synchronization” which may temporarily take connections off-line.
- Max Coalesce Buffers - Map registers are system resources used to convert physical addresses to virtual addresses for network adapters that support bus mastering. Coalesce buffers are available to the network driver if the driver runs out of map registers. Set this value as high as possible for maximum performance. On servers with limited physical memory, this may have a negative impact as coalesce buffers consume system memory. On most systems however, the maximum setting can be applied without significantly reducing available memory.
- Max Transmit/Send Descriptors and Send Buffers - This setting specifies how many transmit control buffers the driver allocates for use by the network interface. This directly reflects the number of outstanding packets the driver can have in its “send” queue. Set this value as high as possible for maximum performance. On servers with limited physical memory, this may have a negative impact as send buffers consume system memory. On most systems however, the maximum setting can be applied without significantly reducing available memory.
- Max Receive Buffers - This setting specifies the amount of memory buffer used by the network interface driver when copying data to the protocol memory. It is normally set by default to a relatively low value. Set this value as high as possible for maximum performance. On servers with limited physical memory, this may have a negative impact as receive buffers consume system memory. On most systems however, the maximum setting can be applied without significantly reducing available memory.
-
All offload options ON - In almost all cases performance is improved when enabling network interface offload features. Some network adapters provide separate parameters to enable or disable offloading for send and receive traffic. Offloading tasks from the CPU to the network adapter can help lower CPU usage on the server which will improve overall system performance. The Microsoft TCP/IP transport can offload one or more of the following tasks to a network adapter that has the appropriate capabilities:
- Checksum tasks - The TCP/IP transport can offload the calculation and validation of IP and TCP checksums for sends and receives to the network adapter, enable this option if the network adapter driver provides this capability.
- IP security tasks - The TCP/IP transport can offload the calculation and validation of encrypted checksums for authentication headers (AH) and encapsulating security payloads (ESP) to the network adapter. The TCP/IP transport can also offload the encryption and decryption of ESP payloads to the network adapter. Enable these options if the network adapter driver provides this capability.
- Segmentation of large TCP packets - The TCP/IP transport supports large send offload (LSO). With LSO, the TCP/IP transport can offload the segmentation of large TCP packets.
- Stack Offload – The entire network stack can be offloaded to a network adapter that has the appropriate capabilities. Enable this option if the network adapter driver provides this capability.
- Wake On LAN disabled (unless being used) – Configure the network adapter driver to disable wake-on lan functionality. This functionality may be useful for client computers but should seldom if ever be used on a BizTalk Server or SQL Server computer.
For more information about tuning network adapters for performance, see the Network Device Settings section of the "BizTalk Server Database Optimization" whitepaper at http://go.microsoft.com/fwlink/?LinkID=101578.
This section provides a description of recommended values for several registry entries that impact network performance. These registry entries can be applied manually or can be applied via the operating system optimization PowerShell script included in Windows PowerShell Scripts.
The DisablePagingExecutive value governs whether or not Windows will page the NT executive to disk. Setting this entry to a value of 1 will prevent pageable drivers and system code in the Windows NT Executive from being paged out to disk. Although this decreases the response time in systems with extremely large amounts of physical memory (RAM), it is critical that there is enough RAM installed, otherwise the server could be rendered unstable. For more information about the DisablePagingExecutive registry entry, see http://go.microsoft.com/fwlink/?LinkId=113707.
DisablePagingExecutive
Key: |
HKLM:\System\CurrentControlSet\Control\Session Manager\Memory Management |
Value: |
DisablePagingExecutive |
Data Type: |
REG_DWORD |
Range: |
0 to 1 |
Default value: |
0 |
Recommended value: |
1 |
Value exists by default? |
Yes |
The IRPStackSize value specifies the number of stack locations in I/O request packets (IRPs) that are used by Windows 2000 Server, by Windows Server 2003, and by Windows XP. You may have to increase this number for certain transports, for media access control (MAC) drivers, or for file system drivers. Each stack uses 36 bytes of memory for each receive buffer. For more information about the IRPStackSize registry entry, see Microsoft Knowledge Base Article 285089, “Description of the IRPStackSize parameter in Windows 2000, in Windows XP, and in Windows Server 2003” at http://support.microsoft.com/kb/285089.
IRPStackSize
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters |
Value: |
IRPStackSize |
Data Type: |
REG_DWORD |
Range: |
11 to 50 |
Default value: |
15 |
Recommended value: |
32 |
Value exists by default? |
No, needs to be added. |
The SizReqBuf value specifies the size in bytes of the raw receive buffers (work items) that the Server service uses. Small work items use less memory, but large work items can improve performance. The value that works best in a particular environment depends on the configuration of that environment. For an optional value, you might try increasing the value as high as 4410 (hexadecimal); this has been shown to work well in a fairly standard Ethernet environment. However, going over setting a value over 4000 hexadecimal has been seen to cause other issues on some servers. Therefore, the default starting point for the SizeReqBuf entry should be 4000 hexadecimal (16384 decimal). By default, the value for this entry is 4356 bytes on servers with less than 512 MB of memory. On servers with more than 512 MB of memory, this value is increased to 16384 bytes (16 KB). A receive buffer that is larger can improve performance on directory queries and similar commands, but at the price of more memory per work item.
Increasing the SizReqBuf value can increase performance significantly in a high-latency environment. However, note that increasing the SizReqBuf value also increases the non-paged pool memory used by the Server service. If you increase the SizReqBuf value, monitor non-paged pool memory to make sure that the change does not adversely impact the performance of the server.
SizReqBuf
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters |
Value: |
SizReqBuf |
Data Type: |
REG_DWORD |
Range: |
1-65535 |
Default value: |
16,384 (bytes) on servers with 512 MB or more or physical memory, 4,356 (bytes) on servers with less than 512 MB physical memory. |
Recommended value: |
17424 (bytes) on servers with 512 MB or more or physical memory, 4,356 (bytes) on servers with less than 512 MB physical memory. |
Value exists by default? |
No, needs to be added. |
Review the following information to configure TCP/IP registry settings for optimal performance:
- "Avoiding TCP/IP Port Exhaustion" at http://go.microsoft.com/fwlink/?LinkId=101610.
- Review the "HKLM\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters" section of "BizTalk Server Database Optimization" whitepaper at http://go.microsoft.com/fwlink/?LinkID=101578.
- Review Optimizing Network Performance.
The DefaultTTL value specifies the default time-to-live (TTL) value set in the header of outgoing IP packets. The TTL determines the maximum amount of time that an IP packet may live in the network without reaching its destination. It is effectively a limit on the number of links on which an IP packet is allowed to travel before being discarded.
DefaultTTL
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
DefaultTTL |
Data Type: |
REG_DWORD |
Range: |
1 to 255 (seconds) |
Default value: |
128 |
Recommended value: |
64 |
Value exists by default? |
No, needs to be added |
The EnablePMTUDiscovery value governs whether TCP will attempt to discover the Maximum Transmission Unit (MTU), or largest packet size for the entire path to a remote host. By discovering the Path MTU (PMTU) and limiting TCP segments to this size, TCP can eliminate packet fragmentation at routers along the path that connect networks with different MTUs. Fragmentation adversely affects TCP throughput and causes network congestion. Setting this parameter to 0 (or off) causes an MTU of 576 bytes to be used for all connections to destinations other than the local subnet.
This entry should not be set to a value of 1 if the server is directly exposed to potential attackers.
<!----> |
<!---->
EnablePMTUDiscovery
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
EnablePMTUDiscovery |
Data Type: |
REG_DWORD |
Range: |
0 to 1 |
Default value: |
1 |
Recommended value: |
1 |
Value exists by default? |
No, needs to be added. |
The EnablePMTUBHDetect value governs whether TCP tries to detect black hole routers during the Path MTU (maximum transmission unit) discovery process. Enabling black hole detection increases the maximum number of times TCP retransmits a given segment. If the value of this entry is 1, TCP recognizes when it has transmitted the same segment several times without receiving an acknowledgement. It reduces the maximum segment size (MSS) to 536 bytes, and it sets the Don't-Fragment bit. If, as a result, receipt of the segment is acknowledged, TCP continues this practice in all subsequent transmissions on the connection.
EnablePMTUBHDetect
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
EnablePMTUBHDetect |
Data Type: |
REG_DWORD |
Range: |
0 to 1 |
Default value: |
0 |
Recommended value: |
1 |
Value exists by default? |
No, needs to be added. |
The TcpMaxDupAcks value determines the number of duplicate ACKs that must be received for the same sequence number of sent data before fast retransmit is triggered to resend the segment that has been dropped in transit. If you set the value of this entry to 1, then the system retransmits a segment when it receives an ACK for a segment with a sequence number that is less than the number of the segment currently being sent.
When data arrives with a sequence number that is greater than expected, the receiver assumes that data with the expected number was dropped, and it immediately sends an ACK with the ACK number set to the expected sequence number. The receiver sends ACKs set to the same missing number each time it receives a TCP segment that has a sequence number greater than expected. The sender recognizes the duplicate ACKs and sends the missing segment. The recommended value of 2 is also the default value but Windows Server 2003 does not add this entry to the registry, so it should be added.
TcpMaxDupAcks
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
TcpMaxDupAcks |
Data Type: |
REG_DWORD |
Range: |
1 to 3 |
Default value: |
2 |
Recommended value: |
2 |
Value exists by default? |
No, needs to be added. |
The Tcp1323Opts value governs whether TCP uses the timestamping and window scaling features described in RFC 1323, TCP Extensions for High Performance. Window scaling permits TCP to negotiate a scaling factor for the TCP receive window size, allowing for a very large TCP receive window of up to 1 GB. The TCP receive window is the amount of data that the sending host can send at one time on a connection. Timestamps help TCP measure round trip time (RTT) accurately in order to adjust retransmission timeouts. The Timestamps option provides two timestamp fields of 4 bytes each in the TCP header, one to record the time the initial transmission is sent and one to record the time on the remote host. This entry is a 2-bit bitmask. The lower bit determines whether scaling is enabled; the higher bit determines whether timestamps are enabled.
Tcp1323Opts
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
Tcp1323Opts |
Data Type: |
REG_DWORD |
Range: |
0 to 3 |
Default value: |
3 |
Recommended value: |
1 (also consider setting to a value of 3 if high packet loss / retransmits are occurring). |
Value exists by default? |
No, needs to be added. |
The SackOpts value governs whether the Selective Acknowledgment (SACK) feature of WindowsServer2003 TCP/IP is enabled. SACK is an optimizing feature based upon RFC 2018, TCP Selective Acknowledgement Options. SACK permits receipt acknowledgement of individual blocks of data in a continuous sequence, rather than just the last sequence number. When SACK is enabled, the recipient can tell the sender that one or more data blocks are missing from the middle of a sequence, and the sender can retransmit only the missing data.
SackOpts
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
SackOpts |
Data Type: |
REG_DWORD |
Range: |
0 to 1 |
Default value: |
1 |
Recommended value: |
1 |
Value exists by default? |
No, needs to be added. |
The MaxFreeTcbs value determines the number of TCP control blocks (TCBs) the system creates to support active connections. Because each connection requires a control block, this value determines how many active connections TCP can support simultaneously. If all control blocks are used and more connection requests arrive, TCP can prematurely release connections in the TIME_WAIT state in order to free a control block for a new connection.
If the value for this entry is increased, then the value for the MaxHashTableSize value should also be increased.
<!----> |
<!---->
MaxFreeTcbs
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
MaxFreeTcbs |
Data Type: |
REG_DWORD |
Range: |
0 to 4294967295 |
Default value: |
Varies with the system and amount of physical memory on the computer. For more information, see “Appendix A: TCP/IP Configuration Parameters” at http://go.microsoft.com/fwlink/?LinkId=113716 |
Recommended value: |
65535 |
Value exists by default? |
No, needs to be added. |
The MaxHashTableSize value controls how fast the system can find a TCB and should be increased if the MaxFreeTcbs value is increased from its default value.
This value should be set to a power of 2 (for example, 512, 1024, 2048, and so on.) If this value is not a power of 2, the system configures the hash table to the next power of 2 value (for example, a setting of 513 is rounded up to 1024).
<!----> |
<!---->
MaxHashTableSize
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
MaxHashTableSize |
Data Type: |
REG_DWORD |
Range: |
64 to 65536 |
Default value: |
512 |
Recommended value: |
65536 |
Value exists by default? |
No, needs to be added. |
The MaxUserPort value controls the maximum port number used when an application requests any available user port from the system. Normally, short-lived ports are allocated in the range from 1024 through 5000. Setting this parameter to a value outside of the valid range causes the nearest valid value to be used (5000 or 65534).
MaxUserPort
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
MaxUserPort |
Data Type: |
REG_DWORD |
Range: |
5000 to 65534 |
Default value: |
5000 |
Recommended value: |
65534 |
Value exists by default? |
No, needs to be added. |
The TcpTimedWaitDelay value determines the length of time that a connection stays in the TIME_WAIT state when being closed. While a connection is in the TIME_WAIT state, the socket pair cannot be reused. This is also known as the 2MSL state because the value should be twice the maximum segment lifetime on the network. For more information, see Internet RFC 793 at http://go.microsoft.com/fwlink/?LinkId=113719.
TcpTimedWaitDelay
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
TcpTimedWaitDelay |
Data Type: |
REG_DWORD |
Range: |
30 to 300 |
Default value: |
240 |
Recommended value: |
30 |
Value exists by default? |
No, needs to be added. |
The GlobalMaxTcpWindowSize value specifies the maximum size of the TCP receive window. The receive window specifies the number of bytes that a sender can transmit without receiving an acknowledgment. In general, larger receive windows improve performance over high-latency, high-bandwidth networks. For greatest efficiency, the receive window should be an even multiple of the TCP Maximum Segment Size.
The TCP/IP stack of Windows Server 2003 was designed to tune itself in most environments. Instead of using a fixed size for the receive window, TCP negotiates for and adjusts to an even increment of the maximum segment size. Matching the receive window to even increments of the maximum segment size increases the percentage of full-sized TCP segments used during bulk data transmission.
Setting this entry to a value greater than 64 KB can only be achieved when connecting to other systems that support window scaling as described in Internet RFC 1323. For more information about RFC 1323, see http://go.microsoft.com/fwlink/?LinkId=84406.
<!----> |
<!---->
GlobalMaxTcpWindowSize
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
GlobalMaxTcpWindowSize |
Data Type: |
REG_DWORD |
Range: |
0 to 1073741823 |
Default value: |
This value does not exist by default |
Recommended value: |
65535 |
Value exists by default? |
No, needs to be added. |
The NumTcpTablePartitions value controls the number of TCB table partitions. The TCB table can be portioned to improve scalability on multi-processor systems by reducing contention on the TCB table. This value should not be modified without a careful performance study. A suggested maximum value is (number of CPUs) * 2 (not counting hyper-threaded CPUs).
NumTcpTablePartitions
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
NumTcpTablePartitions |
Data Type: |
REG_DWORD |
Range: |
1 to 65535 |
Default value: |
4 |
Recommended value: |
Number of physical CPUs or physical CPU cores * 2 (not counting hyper-threaded CPUs) |
Value exists by default? |
No, needs to be added. |
The TcpAckFrequency value specifies the number of ACKs that will be outstanding before the delayed ACK timer is ignored. The TcpAckFrequency value can only be set after installing Hotfix 815230, described in Microsoft Knowledge Base article 815230, “Changing the TcpAckFrequency value to 1 does not have any effect” at http://support.microsoft.com/kb/815230.
Do not change the value of this entry before carefully studying the effect of different values in a test environment.
<!----> |
<!---->
TcpAckFrequency
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
TcpAckFrequency |
Data Type: |
REG_DWORD |
Range: |
0 to 255 |
Default value: |
2 |
Recommended value: |
|
Value exists by default? |
No, needs to be added. |
The SynAttackProtect value specifies whether the SYN flooding attack protection feature of TCP/IP is enabled. The SYN flooding attack protection feature of TCP detects symptoms of denial-of-service (DOS) attacks (also known as SYN flooding), and it responds by reducing the time that the server spends on connection requests that it cannot acknowledge. For more information about the SynAttackProtect registry entry, see the “Disable Windows Server 2003 Service Pack 1 and Service Pack 2 denial of service checking” section of Optimizing Operating System Performance.
SynAttackProtect
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
SynAttackProtect |
Data Type: |
REG_DWORD |
Range: |
0 to 1 |
Default value: |
1 for Windows Server 2003 SP1 and later, 0 otherwise |
Recommended value: |
0 (Only set this on systems with Web exposure if other hardware or software is providing denial of service (DOS) attack protection) |
Value exists by default? |
No, needs to be added. |
The MTU value specifies the size of the maximum transmission unit (MTU) that TCP/IP uses for the network interface. The value of this entry takes precedence over the MTU that the network adapter detects dynamically. For more information about the MTU value, see “Appendix A: TCP/IP Configuration Parameters” at http://go.microsoft.com/fwlink/?LinkId=113716.
MTU
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interfaceGUID |
Value: |
MTU |
Data Type: |
REG_DWORD |
Range: |
88 to the dynamically determined MTU (in bytes) |
Default value: |
4294967295 |
Recommended value: |
Determine the optimal MTU value as described in the Find the Optimal MTU below, under “Applying registry settings with the network optimization Windows PowerShell script” |
Value exists by default? |
No, needs to be added. |
The ForwardBufferMemory value specifies the size of the buffer that IP allocates for storing packet data in the router packet queue. Because packet queue data buffers are 256 bytes long, the value of this entry must be a multiple of 256.
ForwardBufferMemory
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
ForwardBufferMemory |
Data Type: |
REG_DWORD |
Range: |
0 to 4294967295 (bytes, in 256 byte increments |
Default value: |
74240 |
Recommended value: |
Set to a value 100 * the optimal MTU value as described in the Find the Optimal MTU below, under “Applying registry settings with the network optimization Windows PowerShell script” |
Value exists by default? |
No, needs to be added. |
The MaxForwardBufferMemory value limits the total amount of memory that IP can allocate to store packet data in the router packet queue
MaxForwardBufferMemory
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
MaxForwardBufferMemory |
Data Type: |
REG_DWORD |
Range: |
Dynamically determined MTU to 4294967295 (in bytes) |
Default value: |
2097152 (bytes) |
Recommended value: |
Set to a value 100 * the optimal MTU value as described in Find the Optimal MTU below, under “Applying registry settings with the network optimization Windows PowerShell script”. This value must be greater than or equal to the value specified for ForwardBufferMemory. |
Value exists by default? |
No, needs to be added. |
The NumForwardPackets value determines the number of IP packet headers that are allocated for the router packet queue. When all headers are in use, the system attempts to allocate more, up to the value configured for MaxNumForwardPackets. This value should be at least as large as the ForwardBufferMemory value divided by the maximum IP data size of the networks that are connected to the router. It should be no larger than the ForwardBufferMemory value divided by 256 because at least 256 bytes of forward buffer memory is used for each packet. The optimal number of forward packets for a given ForwardBufferMemory size depends on the type of traffic that is carried on the network and is somewhere between these two values. This parameter is ignored and no headers are allocated if routing is not enabled.
NumForwardPackets
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
NumForwardPackets |
Data Type: |
REG_DWORD |
Range: |
1 to 4294967295 |
Default value: |
50 |
Recommended value: |
Set to 1/256 of the value specified for ForwardBufferMemory |
Value exists by default? |
No, needs to be added. |
The MaxNumForwardPackets value limits the total number of IP packet headers that can be allocated for the router packet queue. This value must be greater than or equal to the value of the NumForwardPackets entry.
MaxNumForwardPackets
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
MaxNumForwardPackets |
Data Type: |
REG_DWORD |
Range: |
1 to 4294967295 |
Default value: |
4294967295 |
Recommended value: |
Set to 1/256 of the value specified for ForwardBufferMemory |
Value exists by default? |
No, needs to be added. |
The TcpWindowSize value specifies the maximum size of the TCP receive window. The receive window specifies the number of bytes that a sender can transmit without receiving an acknowledgment. In general, larger receive windows improve performance over high-latency, high-bandwidth networks. For greatest efficiency, the receive window should be an even multiple of the TCP Maximum Segment Size.
The TCP/IP stack of Windows Server 2003 was designed to tune itself in most environments. Instead of using a fixed size for the receive window, TCP negotiates for and adjusts to an even increment of the maximum segment size (MSS). For more information about MSS, see http://go.microsoft.com/fwlink/?LinkId=113755. Matching the receive window to even increments of the MSS increases the percentage of full-sized TCP segments used during bulk data transmission.
Setting this entry to a value greater than 64 KB can only be achieved when connecting to other systems that support window scaling as described in Internet RFC 1323. For more information about RFC 1323, see http://go.microsoft.com/fwlink/?LinkId=84406
<!----> |
<!---->
TcpWindowSize
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters |
Value: |
TcpWindowSize |
Data Type: |
REG_DWORD |
Range: |
0 to 4294967295 ( bytes, in 256-byte increments ) |
Default value: |
The smaller of the following values:
|
Recommended value: |
Value closest to 64420 that is a multiple of the MSS value. |
Value exists by default? |
No, needs to be added. |
The EnableDynamicBacklog value is a global switch that enables AFD.SYS functionality to withstand large numbers of SYN_RCVD connections efficiently. For more information, see "Internet Server Unavailable Because of Malicious SYN Attacks," at http://support.microsoft.com/kb/142641.
EnableDynamicBacklog
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters |
Value: |
EnableDynamicBacklog |
Data Type: |
REG_DWORD |
Range: |
0 to 1 |
Default value: |
0 |
Recommended value: |
1 |
Value exists by default? |
No, needs to be added. |
The MinimumDynamicBacklog value spcifies the minimum number of free connections allowed on a listening endpoint. If the number of free connections drops below this value, a thread is queued to create additional free connections.
MinimumDynamicBacklog
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters |
Value: |
MinimumDynamicBacklog |
Data Type: |
REG_DWORD |
Range: |
0 to 4294967295 |
Default value: |
This value does not exist by default |
Recommended value: |
200 |
Value exists by default? |
No, needs to be added. |
The MaximumDynamicBacklog value controls the maximum number of "quasi-free" connections allowed on a listening endpoint. "Quasi-free" connections include the number of free connections plus those connections in a half- connected (SYN_RECEIVED) state. No attempt is made to create additional free connections if doing so would exceed this value.
To take advantage of the changes to Afd.sys, Windows Sockets applications must specifically request a backlog greater than the value configured for MinimumDynamicBacklog when they issue a listen() call. Microsoft applications, such as Internet Information Services (IIS), which has a default backlog of 25, are configurable.
MaximumDynamicBacklog
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters |
Value: |
MaximumDynamicBacklog |
Data Type: |
REG_DWORD |
Range: |
0 to 4294967295 |
Default value: |
This value does not exist by default |
Recommended value: |
20000 |
Value exists by default? |
No, needs to be added. |
The DynamicBacklogGrowthDelta value controls the number of free connections to create when additional connections are necessary. Be careful with this value, as a very large value could lead to explosive free connection allocations.
DynamicBacklogGrowthDelta
Key: |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters |
Value: |
DynamicBacklogGrowthDelta |
Data Type: |
REG_DWORD |
Range: |
0 to 4294967295 |
Default value: |
This value does not exist by default |
Recommended value: |
100 |
Value exists by default? |
No, needs to be added. |
This topic includes a Windows PowerShell script that can be run on each computer in the BizTalk Server environment to apply registry settings that will optimize networking performance, by using the recommended values discussed in this topic. To run this script follow these steps:
-
Find the optimal MTU - Before running the network optimization PowerShell script, the “Maximum Common MTU” for all computers in the solution must be determined. This means that if 1500 works as an MTU value on all but one computer, either the value of that less capable computer must be used everywhere, or the NIC on the less capable computer needs to be replaced with one as capable as the others. To find the optimal MTU size that can be used on a particular network, do the following:
- On each computer that is part of the solution, open a PowerShell window or CMD.exe window and ping that computer’s default gateway with the following command:
PING –f –l <MTU Size> <interface default gateway address>
<!--src=[../local/note.gif]-->Note If you don’t know the default gateway IP address, run “IPCONFIG” from a command prompt to display the address. <!---->
<!---->
- Determine the highest MTU value that will work on all computers in the BizTalk Server environment, this value will be passed as an argument to the network optimization PowerShell script.
- On each computer that is part of the solution, open a PowerShell window or CMD.exe window and ping that computer’s default gateway with the following command:
- Install Windows PowerShell – Windows PowerShell can be downloaded from http://go.microsoft.com/fwlink/?LinkId=77521. PowerShell must be installed in order to run the network optimization script.
-
Run the network optimization script
- Copy the script from the “Optimizing network performance registry settings” section of Windows PowerShell Scripts into notepad and save as Set-NetworkRegSettings.ps1.
- Launch PowerShell and change directories to the folder that contains the saved script.
- Run the script with the following command:
.\Set-NetworkRegSettings.ps1 1400
<!--src=[../local/note.gif]-->Note In this example an “optimal MTU” size of 1400 is passed as an argument to the script but the “optimal MTU” value may be different in your environment. <!---->
<!---->
<!--src=[../local/note.gif]-->Note If the script does not run, or opens in Notepad instead of running, ensure the PowerShell execution policy permits running PowerShell scripts. To determine the current PowerShell execution policy run the Get-ExecutionPolicy PowerShell command. To change the current PowerShell execution policy run the Set-ExecutionPolicy PowerShell command. <!---->
<!---->
相关推荐
Zoompf-Optimizing-Web-Performance
对于深入学习和实践,可以参考"Optimizing Flash performance.pdf"文档,其中可能包含了更多细节和案例分析。同时,"support_files"可能包含了一些示例代码或额外的参考资料,帮助读者更好地理解和应用这些优化技巧...
This paper proposes a self-optimizing algorithm that tunes the aggregation mode and controls how data is split between LTE and WLAN. Results show that the proposed algorithm is able to derive the ...
[Linux英文原版图书系列].PRENTICE_HALL-Optimizing_Linux_Performance_A_Hands_On_Guide_To_Linux_Performance_Tools.chm
Que - Optimizing C++.chm
网站性能优化组合项目通过应用[关键渲染路径课程]( ) 中的技术,优化现有在线作品集的关键渲染路径,使 Pagespeed Insights 得分高于 90。以下技术用于优化网站: 图像被压缩向 js 源添加 async 标签以避免渲染阻塞...
Unite Europe 2016 - Optimizing Mobile Applications 关于Unity游戏优化的ppt , 对应视频是 https://www.youtube.com/watch?time_continue=6&v=j4YAY36xjwE
This 3rd edition of the very popular title "Securing & Optimizing Linux" looks for security measures that go beyond firewalls and intrusion detection systems to anticipate and protect against upcoming...
标题所指的“A Mathematical Perspective of Self-Optimizing Wireless Networks”(自优化无线网络的数学视角),主要讨论了在数学框架下对自优化无线网络(SON)进行量化研究的方法,特别是针对3GPP的长期演进...
性能问题是优化Spark部署的另一个核心,包括如何优化性能、减少资源占用和提高计算效率。性能优化通常涉及合理的资源分配,例如CPU、内存和存储资源的合理配置,以及根据应用需求动态调整资源。资源占用的减少可以...
- 性能分析工具:介绍如何使用性能分析工具来评估编译后的代码性能,并基于此结果进行优化。 - 编程指南:提供编写高效代码的最佳实践建议,包括但不限于循环优化、内存访问模式优化等方面。 4. **调试与问题解决...
文档《tms320c6000-optimizing_compiler_users_guide_v7.4.pdf》是关于TMS320C6000系列的优化编译器使用指南的第七版文档,提供了详细的用户使用指导信息。 文档开篇是介绍软件开发工具,包括C/C++编译器和其他相关...
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB ...由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
Chapter 2 - Optimizing Calculation Algorithms Chapter 3 - Developing and Using Procedures in Assembly Language Chapter 4 - Optimizing C++ Logical Structures with Assembly Language Chapter 5 - ...
### Linux on eMMC – Optimizing for Performance #### 一、eMMC简介 嵌入式多媒体卡(eMMC)是一种在主板上集成了闪存和闪存控制器的存储设备,广泛应用于移动电话、平板电脑等便携式电子设备中。与传统的可移除...
在"Optimizing-Selenium-Test-Performance-master"压缩包中,包含了优化Selenium测试性能的实际代码和案例,你可以从中学习到如何在实际项目中应用上述策略,提升测试效率。 总结,优化Selenium测试性能是一项涉及...
原插件在解析多个OpenCTM网格时,生成了大量的GC,并且当解析的网格越大时,其产生的GC越多。这就导致了系统需要用更多的时间来进行垃圾回收,造成非常长的卡顿时间,简直无法忍受。改进后的代码,产生的GC明显减少...
为了解决这一问题,文章首先关注了在严格时延限制下的通用EEC架构,并通过所提出的数学框架来分析和优化性能。这个通用架构集成了各种EEC技术,包括自动重传请求(ARQ),前向纠错(FEC)以及混合ARQ技术。 自动重...