Cilium has an idea to accelerate packet forward performance using sockops & sockhash when using istio service mesh, the code is here ( https://github.com/cilium/cilium/tree/master/bpf/sockops ). But this function is heavily coupling with cilium codebase so I would like to extract the sockhash part from cilium. I find a demo code https://github.com/zachidan/ebpf-sockops and try to see if it really improve the performance. My test case is from https://github.com/istio/tools/tree/master/perf/benchmark. In this case, I setup two pods, fortio client and fortio server. And generate packet from client using kubectl -n $NAMESPACE exec -it $client_pod -- fortio load -c 1 -qps 10000 -t 30s -a -r 0.00005 -httpbufferkb=128 "http://$server_svc_ip:8080/echo?size=1024" , the qps *decrease* sharply from 6k to 200+ when apply sockmap prog. If I enter into the server pod and test using fortio load -c 1 -qps 10000 -t 30s -a -r 0.00005 -httpbufferkb=128 " http://127.0.0.1:8080/echo?size=1024 " , the qps *increase* from 6k to 9k. In addition, I also override the bpf_redir function which always return SK_PASS and not call msg_redirect_hash , __section("sk_msg") int bpf_redir_proxy(struct sk_msg_md *msg) { if (1) return SK_PASS; ... ... } and the qps also about 200+, so I think it is because the call to bpf_redir_proxy is expensive so the qps descrease sharply?
I also enter into the fortio server container and running test using fortio load -c 1 -qps 10000 -t 30s -a -r 0.00005 -httpbufferkb=128 " http://172.16.2.70:8080/echo?size=1024 " , here the ip 172.16.2.70 is the server IP(local ip), the result shows also 200+ qps…In this case, packet from client wiil first be redirected to envoy proxy, then the envoy proxy will send the packet to the server with dst address 127.0.0.1:8080 Why would this happen? How should I debug this? Need your help Thanks, forrest chen -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#1788): https://lists.iovisor.org/g/iovisor-dev/message/1788 Mute This Topic: https://lists.iovisor.org/mt/34287210/21656 Group Owner: iovisor-dev+ow...@lists.iovisor.org Unsubscribe: https://lists.iovisor.org/g/iovisor-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-