NFC Session Limits and Timeouts
NBDSSL employs the network file copy (NFC) protocol. The table below shows limits on the number of connections for various host type. These are host limits, not per process limits.
Additionally vCenter Server imposes a limit of 52 connections. VixDiskLib_Open() uses one connection for every virtual disk that it accesses on an ESXi host. Clone with VixDiskLib_Clone() also requires a connection. It is not possible to share a connection across physical disks. These NFC session limits do not apply to SAN or HotAdd transport.
Host Platform | When Connecting | Limits You To About |
---|---|---|
vSphere 3.5 | to an ESX host | 9 connections directly, 27 connections through vCenter Server |
vSphere 4.x | to an ESXi host | 11 connections directly, 23 connections through vCenter Server |
vSphere 5.x | to an ESXi host or vCenter Server | Limited by a transfer buffer for all NFC connections, enforced by the host; the sum of all NFC connection buffers to an ESXi host cannot exceed 32MB. Also 52 connections through vCenter Server, including the above per-host limit. |
vSphere 6.x vSphere 7.0 |
to an ESXi host or vCenter Server | The sum of all NFC connection buffers cannot exceed 48MB (by default) for the NFC server in one ESXi host. With 1MB buffers per I/O stream, 48 requests can be concurrent. When customers use vCenter to manage ESXi hosts, the NFC memory limit is not configurable for backup. The NFC memory limit in ESXi hosts can be set with config.xml if there is no vCenter. |
The
InitEx
configuration file parameter
vixDiskLib.nfc.ReadTimeoutMs
indicates the preferred
connection timeout for backup and restore operations, and has the effect of
influencing TCP keep-alive time when no reads occur, which they do not during
prolonged restores. If the
ReadTimeoutMs
value is set higher than the TCP
keep-alive time on the network, then a connection timeout could occur.
For example, if the
configuration file sets
ReadTimeoutMs
flag to 3600000 milliseconds (60 minutes)
instead of accepting the default (varies from 6 to 45 seconds) then a TCP
keep-alive packet transmits only after 60 minutes. If restoring a virtual disk
takes longer, leaving network read activity idle for 60 minutes, the connection
could break so subsequent restores fail.