FIX: Performance Issues on Multi-processor Computers with MSDTCPRX.dll (329954)



The information in this article applies to:

  • Microsoft COM+ 1.0

This article was previously published under Q329954

SYMPTOMS

You experience a degradation in performance when you use Distributed Transaction Coordinator (DTC) on a multi-processor computer.

CAUSE

Msdtcrpx.dll holds on to a critical section while it makes an outbound remote procedure call (RPC). This may cause the server performance to slow because all the other threads must wait for the RPC call to complete before they can run. This problem may also cause the server to stop responding. If the RPC call does not return from the remote computer, the server cannot process any more calls. All threads must wait for this blocking thread to return. This situation causes the server to stop responding.

RESOLUTION

To resolve this problem, obtain the Microsoft COM+ Rollup Hotfix 23. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

330081 INFO: Availability of Windows 2000 Post-Service Pack 3 COM+ Hotfix Rollup Package 23

A supported fix is now available from Microsoft, but it is only intended to correct the problem described in this article. Only apply it to systems that are experiencing this specific problem. This fix may receive additional testing to further ensure product quality. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Microsoft Windows 2000 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site: Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

STATUS

Microsoft has confirmed that this is a problem in Microsoft Windows 2000.

MORE INFORMATION

In the dump file you see a large number of threads waiting for a thread that looks similar to this:
ntdll!ZwWaitForSingleObject+0xb
KERNEL32!WaitForSingleObjectEx+0x71
KERNEL32!WaitForSingleObject+0xf
MSDTCPRX!CIConnSink::SendReceive+0x10d
MSDTCPRX!CDtcToXaHelper::Init+0x1ce
MSDTCPRX!CDtcToXaHelperFactory::Create+0x91
mtxoci!XARMCreate+0xcf

REFERENCES

For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the following article number to view the article in the Microsoft Knowledge Base:

265173 The Datacenter Program and Windows 2000 Datacenter Server Product


Modification Type:MinorLast Reviewed:10/6/2005
Keywords:kbWin2kSP4fix kbbug kbfix kbWin2000preSP4Fix KB329954 kbAudDeveloper