Asynchronous Mode
NBDSSL
As of vSphere 6.7,
asynchronous I/O for NBDSSL transport mode is available. Performance of NBDSSL
mode data transfer can be improved with this option.
To implement asynchronous
NBDSSL, use the new functions
VixDiskLib_ReadAsync
and
VixDiskLib_WriteAsync
in a callback, followed by
VixDiskLib_Wait
, to
replace the VixDiskLib read and write functions. In the development kit, see
vixDiskLibSample.cpp
for code examples, following logic for the
-readasyncbench
and
-writeasyncbench
options.
VDDK has had non-public
asynchronous APIs since VDDK 6.0, but behavior is different in earlier
releases. File transport mode is synchronous in all releases.
VDDK 6.0
| VDDK 6.5
| 6.7
| |
---|---|---|---|
VixDiskLib_ReadAsync
| Always synchronous.
| Same as 6.0.
| For HotAdd and SAN
modes, same as 6.0 and 6.5.
NBDSSL mode is
asynchronous if the ESXi host supports asynchronous NBD.
|
VixDiskLib_WriteAsync
| For HotAdd and NBDSSL
modes, always synchronous.
For SAN mode, the API is
asynchronous. A thread handles writes one by one in the back-end, so
outstanding I/O is always 1.
| Same as 6.0.
| For HotAdd and SAN
modes, same as 6.0 and 6.5.
NBDSSL mode is
asynchronous if the ESXi host supports asynchronous NBD, as does ESXi 6.7.
|