Thursday, June 24, 2010

SOA 11g: Native IO must be enabled!

On a project working with Sun Solaris the server was very slow. I took 15 minutes to start and executing composites or accesing the "Human Worklist Application" or "Enterprise Manager" took ages.

I saw in both log files of the AdminServer and soa_server1, one small line:

<Native IO Disabled. Using Java IO.>

This line implies that the system will use Java code instead of O/S specific libraries for executing I/O function.

This can be fixed by setting the correct dynamic Libraries; LD_LIBRARY_PATH.

Make sure you set the LD_LIBRARY_PATH in your start scripts of the Admin and managed servers.

Add this in  the start scripts:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FMW_HOME/wlserver_10.3/server/native/solaris/sparc64
export LD_LIBRARY_PATH



This will result in the following line on the log :-)

<Native IO Enabled.>

2 comments:

Tom Hofte said...

Marc,

create post. One addition from my side:

native IO is enabled by default. If the server fails to load the libraries you'll see a java.lang.UnsatifiedLinkException. The server will load the java libraries instead. So you have to check the log files.

Also with a small number of concurrent conncetion the Java io seems to be faster, but when the number grows the native muxer becomes more efficient; in most production systems it is a best practice to use the native io muxer if available (source: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470484306.html)

Marc Kelderman SOA Blog said...

Tom, Thanks for your post. But in my case, Native IO was not the default :-( It had to due with old version of Solaris

Post a Comment

Post a Comment