vHBA and AIO
In Oracle Solaris 11.4 SRU30 there was an important change with LDOMS you should be aware of as you probably have to do an administrative step to get best performance. That’s the reason While it’s documented in the release notes i’m using the opportunity to highlight it in the blog as release notes are somewhat lesser read documents. In the past a situation was seen that applications that do asynchronous i/O saw bad performance which stem out of the fact that vHBA made essentially synchronous I/O out of asynchronous I/O.
A fix was made that now can be activated by configuration. But it’s important to know, that by default Solaris 11.4 SRU30 doesn’t activate the optimizations. If you want to use the optimizations in action because you are using AIO and vHBA, you have to add the following statement to
/etc/system, albeit in the age of a self assembling
/etc/system i would suggest to place a file called
/etc/system.d with a single line
Afterwards reboot all LDOMs where the
vhba module is in use.
It’s only nescessary to use the statement if you are using vHBA and async IO. For normal synchronous I/O (like
pwrite() ) nothing changes at all. A DTrace script to check if you are using AIO is available at support.oracle.com in the Document with the ID 2734365.1. If you are running an Oracle Database, activating this feature is probably a very good idea.