Performance Problem With Libmilter.so Due To Missing TCP_NODELAY Flag On Sockets
Last updated on NOVEMBER 15, 2017
Applies to:Oracle Communications Messaging Server - Version 8.0.1 and later
Information in this document applies to any platform.
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?
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