IBM Support

IBM Toolbox for Java performance degradation after Windows Server 2019 upgrade

Troubleshooting


Problem

After upgrading Windows from a previous release to Windows Server 2019, JDBC applications using the IBM Toolbox for Java may experience significant performance degradation.

Cause

Two TCP/IP network configuration-related causes have been encountered by IBM i customers thus far:
1) "Per default Windows now uses the Nagle algorithm to reduce network load. Therefore, Windows network driver waits till it gets enough TCP packets, before it sends them to our System i Server. This leads to a massive performance issue in our application."
2) Value TCP/IP minimum Re-transmission Time Out (minRTO) being too low caused re-transmissions, which negatively impacted performance.

Resolving The Problem

For case #1 above, the resolution is described here:

"We changed our Server System to Windows Server 2019. Per default, Windows now uses the Nagle algorithm to reduce network load.

Therefore, Windows network driver waits till it gets enough TCP packets, before it sends them to our IBM i Server. This leads to massive performance degradation in our application.

This can be deactivated via com.ibm.as400.access.AS400JDBCDataSource if you call the method setTcpNoDelay (true). Our developer changed this - so no worries for us today.

But you have to use your own application. If you use standard Software, like SQuirreL or Talend ETL, there may be no option to change this.

Suggestion: Add a new JDBC Property, where you can change this behavior."

"tcp no delay" has been added as a JDBC connection property starting with JTOpen 11.0 (released 2022-04-13). 

"setTcpNoDelay" is a data source method. In a URL, you should use "tcp no delay=true".

For case #2 above, Windows administrator changed minRTO from 20ms to 200ms in Windows TCP template. That prevented the TCP/IP re-transmissions and greatly improved performance. See:
https://stackoverflow.com/questions/34619815/how-does-windows-decide-which-setting-template-internet-vs-datacenter-is-appli
...and:
https://techcommunity.microsoft.com/t5/networking-blog/tcp-templates-for-windows-server-2019-8211-how-to-tune-your/ba-p/339795

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CbKAAU","label":"Data Access-\u003EIBM i Toolbox for Java"}],"ARM Case Number":"TS007024871","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]

Document Information

Modified date:
05 June 2024

UID

ibm16523404