Menu

#334 Disable delayed acknowledgement

Performance
closed-fixed
5
2006-05-08
2006-02-02
MSzermutzky
No

The Pegasus CIM Server sends and receives several small
packages. With delayed acknowledgment (also known as
Nagle-algorithm) enabled for a TCP socket, small
packets received are not immediately acknowledged, but
the IP stack waits for more data to collect everything
send into a buffer. While helpful for servers that send
single big chunks of data, it slows down round-trip
servers who send many small packets.
It is not sufficient if only the server has the
TCP_NODELAY option set, but it is also required on
client side. On Windows the system default for TCP
sockets is set to delayed acknowledgment, thus has to
be disabled explicitely (by setting TCP_NODELAY).
With the socket option changed in the client the
response times against Pegasus on a z/OS system went
down by more than 200ms, raising the throughput for
small requests (like getinstance) by multiple.

Discussion

  • MSzermutzky

    MSzermutzky - 2006-02-02

    Logged In: YES
    user_id=1441457

    Added patch that set the socket option after the socket has
    been created.

     
  • MSzermutzky

    MSzermutzky - 2006-02-02

    Logged In: YES
    user_id=1441457

    Added patch that set the socket option after the socket has
    been created.

     
  • MSzermutzky

    MSzermutzky - 2006-02-02
     
  • MSzermutzky

    MSzermutzky - 2006-02-15

    Logged In: YES
    user_id=1441457

    Found a second occurence of a socket being created without
    disabled delayed acknowledge. The server socket created to
    receive Indications also should have the TCP_NODELAY set.
    Same applies as for first patch, the throughput raised
    significant for a test case of a Windows client and a z/OS
    Pegasus CIM Server.

     
  • MSzermutzky

    MSzermutzky - 2006-02-15

    Patch for Indication Listener (server part of client)

     
  • lupusalex

    lupusalex - 2006-03-16
    • assigned_to: nobody --> lupusalex
     
  • lupusalex

    lupusalex - 2006-03-16
    • status: open --> open-accepted
     
  • lupusalex

    lupusalex - 2006-03-16

    Logged In: YES
    user_id=1363884

    Started code review

     
  • lupusalex

    lupusalex - 2006-03-16

    Logged In: YES
    user_id=1363884

    Started code review

     
  • lupusalex

    lupusalex - 2006-04-18
    • status: open-accepted --> pending-accepted
     
  • lupusalex

    lupusalex - 2006-04-18

    Logged In: YES
    user_id=1363884

    Code review positive will be included in next release

     
  • SourceForge Robot

    • status: pending-accepted --> closed-accepted
     
  • SourceForge Robot

    Logged In: YES
    user_id=1312539

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     
  • lupusalex

    lupusalex - 2006-05-08

    Logged In: YES
    user_id=1363884

    Fixed with 1.2.7

     
  • lupusalex

    lupusalex - 2006-05-08
    • status: closed-accepted --> closed-fixed
     

Log in to post a comment.