Skip to content

ChenLingPeng/cilium-sockmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cilium-sockmap

is a project inspired by cilium to accelerate istio network using ebpf sockops & sockhash.

how to test

  1. setup vagrant vm

enter into vm, git clone --depth=1 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git and build bpftool

  1. build envoy image under envoy directory(or just pull image chenlingpeng/envoy-demo)
  2. setup test container (simulate istio pod with an envoy sidecar in one network space)
CID=$(docker run -d chenlingpeng/envoy-demo)
CID2=$(docker run -d --net container:$CID fortio/fortio:latest_release server -http-port "127.0.0.1:8080")

ip=$(docker inspect -f '{{.NetworkSettings.Networks.bridge.IPAddress}}' $CID)
  1. run load tests
# traffic direct from client to fortio server
docker exec -it $CID2 fortio load -c 1 -qps 10000 -t 10s -a -r 0.00005 -httpbufferkb=128 "127.0.0.1:8080/echo?size=1024"

# traffic send to envoy which then proxy to fortio server
docker exec -it $CID2 fortio load -c 1 -qps 10000 -t 10s -a -r 0.00005 -httpbufferkb=128 "$ip:10000/echo?size=1024"
  1. clean env
docker stop $CID $CID2
  1. run ./load.sh and re-run step 2 to step 4, compare the latance and qps result. run ./unload.sh to clean ebpf settings after step 4.

what would you see

when traffic send direct from client to fortio server using 127.0.0.1:8080 the qps in ebpf mode is better than normal case(in my vm it's 8000+(sockops) vs 6000+(no-sockops)).

when traffic send to envoy which then proxy to fortio server using $ip:10000 the qps in ebpf mode drop sharply compare to normal case(in my vm it's 200+(sockops) vs 4000+(no-sockops))

About

cilium demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages