Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-10603

Performance impact due to TCP_NODELAY in JacORB server socket

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • EAP_EWP 5.3.0.ER1
    • EAP_EWP 5.1.0
    • None
    • None
    • Linux

      We encounter a delay on the client side where client (running on linux) is taking longer time to complete requests than the client running on windows platform.

      We narrowed down to a particular JTS call that is taking the extra time. The call is to InterpositionServerRequestInterceptorImpl.suspendContext. It always returns immediately when executing from windows.

      The issue seems to be related to Nagle's algorithm's effect on small packets transmission and the solution is set "setTcpNodelay" on the Server side socket in the JacORB code (which already have "setTcpNoDelay" on the client side)

      Here is some debug from a test showing the delay:

      2013-01-22 22:56:36,557 [RequestProcessor-5] DEBUG com.arjuna.ats.jts.logging.logger - InterpositionServerRequestInterceptorImpl.suspendContext ( get_txcontext )
      2013-01-22 22:56:36.557 FINE ServerRequest: reply to get_txcontext
      2013-01-22 22:56:36.557 FINE wrote 262 bytes to 127.0.0.1:34929
      2013-01-22 22:56:36.557 FINE wrote GIOP message of size 262 to ServerGIOPConnection to 127.0.0.1:34929 (26659db7)
      2013-01-22 22:56:36.558 FINE rid: 16 opname: get_txcontext ends with request processing
      2013-01-22 22:56:36.596 FINE read 12 bytes from 127.0.0.1:34854
      2013-01-22 22:56:36.596 FINE read 250 bytes from 127.0.0.1:34854
      2013-01-22 22:56:36.597 FINE read GIOP message of size 262 from ClientGIOPConnection to 127.0.0.1:34854 (27a897a9) 
      

              rhn-support-bmaxwell Brad Maxwell
              rhn-support-dchia David Chia (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: