Microsoft KB Archive/318955

From BetaArchive Wiki
Knowledge Base


Article ID: 318955

Article Last Modified on 9/27/2005



APPLIES TO

  • Microsoft Windows 2000 Service Pack 1
  • Microsoft Windows 2000 Service Pack 2
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Service Pack 1
  • Microsoft Windows 2000 Service Pack 2



This article was previously published under Q318955

SYMPTOMS

TCP/IP port print throughput on Microsoft Windows 2000 is much slower than on Microsoft Windows NT 4.0 and on Microsoft Windows XP.

CAUSE

The remote procedure call (RPC) buffer size is too small. As a result, data is "chunked" into many small pieces and each chunk is sent separately.

Windows 2000 Line Printer Remote (LPR) uses a 4096 buffer. On most systems that use Ethernet, this means the data fits into 3 packets. The default TCP/IP specification is to acknowledge ("ack") every two packets received on the network. After 0.2 seconds, if a second packet has not been received, the system acknowledges the odd packet. After the ack for the last packet has been received, another chunk of 4096 bytes is transmitted by LPR.

The accumulation of the 0.2-second delay on every third packet causes the prints jobs to print more slowly.

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to obtain the latest Windows 2000 service pack


WORKAROUND

Important Use the following workaround only if you cannot install the hotfix from Windows 2000 Service Pack 3.

To work around this problem, change the maximum transmission unit to 1364 decimal (or 554hex) at the following location:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ID for Adapter


The placeholder ID for Adapter represents the key for the Ethernet card that is being used.

Note Although this workaround improves the speed of LPR printing, it does have some negative affect on network performance for the rest of the system.

Lowering the MTU on an Ethernet network to a size of 1364 causes the chunk of data (4096 bytes) to spread to the fourth packet, which results in an even number of packets, thereby avoiding the delay that you experience on the third packet.

STATUS

Microsoft has confirmed that this is a problem in Microsoft Windows 2000. This problem was first corrected in Windows 2000 Service Pack 3.


MORE INFORMATION

The RPC buffer size was increased to the same as in Windows XP. The result is that fewer chunks are processed, and larger chunks are handed to the network stack.

For more information about TCP/IP behavior, search the Microsoft Web site for "Nagle algorithm" or for "RFC1122":

Keywords: kbbug kbprint kbqfe kbwin2000sp3fix kbfile kbpending kbhotfixserver KB318955