Performance Problem With Libmilter.so Due To Missing TCP_NODELAY Flag On Sockets (Doc ID 2295624.1)

Last updated on AUGUST 11, 2017

Applies to:

Oracle Communications Messaging Server - Version 8.0.1 and later
Information in this document applies to any platform.

Symptoms

There appears to be a performance problem with libmilter.so due to it not having a TCP_NODELAY flag on sockets.

Investigation of network traces may show a delay (in one example, 40 milliseconds) between different read/write operations when interacting with the milter. It appears there is some incompatibility between Solaris (Nagle algorithm) and Linux (delayed ACK) TCPIP stack configuration? (A problem further discussed at http://www.stuartcheshire.org/papers/nagledelayedack/ ).

As milter is a protocol with a lot of back and forth communication in small packets, this may cause performance problems in some circumstances where the time to fully process a message through milter ends up much longer than it needs to be. Could setting TCP_NODELAY flag on sockets initiated by the libmilter plugin improve this? Does libmilter.so have this option?

Changes

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms