IBM Support

Windows 2012 R2 slow network performance in tcprecv



Slow network performance from tcprecv, may experience 0.5 second delay.


DB2 client side trace will show 0.5 second delay in tcprecv which gets propagated up to SQLExecDirectW.

2726           0.486271858   SQLExecDirectW entry
2727           0.486291903   SQLExecDirectW mbt
2824           0.487910754   | SQLExecute2 entry
2890           0.494393072   | | | | | tcprecv entry
2891           0.975967685   | | | | | tcprecv data [probe 2]
2892           0.975978371   | | | | | tcprecv exit
2937           0.977433863   | SQLExecute2 exit
2945           0.977559438   SQLExecDirectW exit


Root cause could be network card tuning or VMWare bug. Both issues are outside of DB2's control. This would also affect Java applications since root cause is outside of DB2.


Applies only to Windows 2012 R2, does not affect Windows 2008 R2

Resolving The Problem


a) Disabling some or all of the network adapter card settings below:

Recv Segment Coalescing (IPv4)
Recv Segment Coalescing (IPv6)
Large Send Offload v2 (IPv4)
Large Send Offload v2 (IPv6)
Ipv4 checksum offload
VM queues
TCP Checksum offload (IPv4)
TCP checksum offload (IPv6)
Udp checksum offload (IPv4)
Udp checksum offload (IPv6)

b) Tuning Windows Windows TCP/IP via link in the Related URL section.

If Windows 2012 R2 is running on VMWare, root cause is the VMWare bug below:

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Connectivity - TCP\/IP Protocol","Platform":[{"code":"PF033","label":"Windows"}],"Version":"9.7;10.1;10.5","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018