3 Replies Latest reply on Nov 6, 2003 7:58 PM by adrian.brock

    JMS and Nagle

    dballato

      Using the JBoss JMS provider, found that many messages coming from the JMS server were being delayed by on average about 150 ms. Network analysis showed that this was due the server waiting for TCP ACKs from the subscriber (Nagle's algorithm).

      Have been trying to figure out how to set TCPNoDelay to TRUE to turn off Nagle algorithm, but have not been able to do that. There are attributes set for TCPNODELAY set to TRUE in the UIL and OIL sections of the jbossmq_server.xml, but those don't seem to do the trick. So, how do I set the TCPNODELAY on the JMS server?

        • 1. Re: JMS and Nagle

          Why doesn't tcpnodelay work?

          Regards,
          Adrian

          • 2. Re: JMS and Nagle
            dballato

            Not sure what was going on with it. When the JMS clients were using a default connection, the JMS Server was (for messages over, say, 600 bytes) sending a small (5 byte, first byte was something like 7A hex) message to the client, then waiting for the ACK from the client before sending the rest of the message. So most transfers ended up taking about 150 msec.

            When the JMS clients connected using UIL2, this didn't happen, and the transfers were taking on the order of 2 msec.

            • 3. Re: JMS and Nagle

              I see, can you report this as a bug on www.sf.net/projects/jboss
              to remind me.

              OIL does
              client -> server
              server -> client

              UIL2 does
              client <-> server

              Obviously the server->client connection is not using no delay.

              Regards,
              Adrian