Benchmarking gRPC Protocol on Various Virtualization Technologies
摘要
Virtualization is essential for efficient resource utilization in cloud and development environments. With the growing adoption of gRPC as a Remote Procedure Call (RPC) framework, evaluating its performance across different virtualization technologies has become crucial. This work benchmarks the performance of four gRPC call types: unary, client-streaming, server-streaming and bi-streaming, across four lightweight virtualization technologies. Docker, gVisor, Firecracker and nanos unikernel. The analysis examines CPU utilization, memory utilization and network capabilities to provide a comprehensive comparison. The results show that docker delivers the best performance across all metrics. Firecracker shows comparable latency performance to docker, but consumes higher memory. Nanos unikernel exhibits CPU utilization similar to that of docker, but has the highest latencies in all cases except unary gRPC call. gVisor exhibits the lowest CPU utilization under heavier workloads and also has the lowest latencies for client-streaming and server-streaming gRPC calls.