• charsyam's avatar
    Turn off TCP_NODELAY on the slave socket after SYNC. · 45b1b2f7
    charsyam authored
    Further details from @antirez:
    
    It was reported by @StopForumSpam on Twitter that the Redis replication
    link was strangely using multiple TCP packets for multiple commands.
    This wastes a lot of bandwidth and is due to the TCP_NODELAY option we
    enable on the socket after accepting a new connection.
    
    However the master -> slave channel is a one-way channel since Redis
    replication is asynchronous, so there is no point in trying to reduce
    the latency, we should aim to reduce the bandwidth. For this reason this
    commit introduces the ability to disable the nagle algorithm on the
    socket after a successful SYNC.
    
    This feature is off by default because the delay can be up to 40
    milliseconds with normally configured Linux kernels.
    45b1b2f7
config.c 40.2 KB