FDio / govpp

Go toolset for the VPP.
Apache License 2.0
193 stars 82 forks source link

no server example? #96

Closed kolinfluence closed 1 year ago

kolinfluence commented 1 year ago

there is no server example?

rpc-service i've tried but maybe there's no server example that's why i find it strange the application of vpp or how to test request/s over simple echo service etc.

not sure where i can apply vpp or where it really shines?

edwarnicke commented 1 year ago

@ultperf What would you like to program VPP to do using the GoVPP api? :)

kolinfluence commented 1 year ago

@edwarnicke

  1. firstly, i would like to have some rpc / redis-type server that's super fast :D
  2. maybe can do an example echo server? (is that how vpp is supposed to work? i mean as data transfer "accelerator" thing) i think 2. an echo server will be great to "showcase" or benchmark against stuff like https://github.com/cloudwego/netpoll https://github.com/cloudwego/netpoll-benchmark

or things like https://github.com/IceFireDB/redhub for redis etc.

i thought maybe just port it to https://github.com/cloudwego/hertz to test out the fastest http server with vpp? would really like to see how much faster it can go

p.s : by the way, it sounds like vpp is a better internal tcp/unix domain socket communication between processes? i wonder if this can be "true"/benchmarked. also i wonder if it's as good as SharedMemory IPC. with something like echo server or multiple echo server between govpp app maybe can see a clearer picture.

sorry i'm too newbie to this tech. pardon my newbie remarks.

p.p.s. : i didnt install DPDK, just try running vpp inside docker. not sure if DPDK is needed or not? i get to know vpp from researching ebpf stuff just fyi. so i'm coming from high performance ebpf stuff... i understand dpdk, ebpf but not vpp from this perspective.

from my perspective, vpp is like a "trie" structure access for packets processing. (with consideration to multi core cpu process handling) as long as it's faster in multicore cpu ways... i'm not sure if bandwidth uptake is more? (coz there's no information on such). is it going to take more bandwidth (like kcp) or lesser?

kolinfluence commented 1 year ago

@edwarnicke i just realised "GoVPP api" is the server. now i really wonder how to use it but thx. somehow, i've already tested the "perf-bench" but sorry to say, not impressed with the results.

possible to provide a use case scenario where govpp can outshine the rest like http / redis / echo etc?

p.s. : do u have an example on how to write the "server" part?