Introduction
DPVS is a high performance Layer-4 load balancer based on DPDK. It's derived from Linux Virtual Server LVS and its modification alibaba/LVS.
the name DPVS comes from "DPDK-LVS".
Several techniques are applied for high performance:
Kernel by-pass (user space implementation)
Share-nothing, per-CPU for key data (Lockless)
RX Steering and CPU affinity (avoid context switch)
Batching TX/RX
Zero Copy (avoid packet copy and syscalls).
Polling instead of interrupt.
lockless message for high performance ICP.
other techs enhanced by DPDK.
Major features of DPVS including:
L4 Load Balancer, including FNAT, DR mode, etc.
Different schedule algorithm like RR, WLC, WRR, etc.
User-space Lite IP stack (IPv4, Routing, ARP, ICMP ...).
SNAT mode for Internet access from internal network.
Support KNI, VLAN, Bonding for different IDC environment.
Security aspect, support TCP syn-proxy, Conn-Limit, black-list.
QoS: Traffic Control.
DPVS feature modules are illustrated as following picture.
Quick Start
Test Environment
This quick start is tested with the environment below.
Linux Distribution: CentOS 7.2
Kernel: 3.10.0-327.el7.x86_64
CPU: Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz
NIC: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 03)
Memory: 64G with two NUMA