Pipelining is a technique used by NCache to handle multiple commands on a TCP connection by gathering them and making a chunk of operations to be sent over the network in a single call. This technique reduces the overhead of sending multiple requests one by one and waiting for the acknowledgment. It also makes resource utilization more effective and speeds them up, especially for large data units. Pipelining provides a major performance boost for high performing machines.
NCache lets you send a chunk of multiple commands and send them together in a defined time period, reducing the TCP overhead. The time interval of sending the chunk together is configurable by the user and after each interval, the commands are gathered and sent over the network. The server keeps the pipelining configurations regarding all the connected clients, thus, passing the configurations to the connected clients. One cache can have one configuration for pipelining which will connect to all the servers.
The minimum time for the batch interval is 50 µs and the maximum size for the batch interval is 5000 µs. The default value is 250 µs and it is enabled by default. Pipelining can only be used for clustered caches.