Re: Performance issues with vnet jails + epair + bridge
Date: Thu, 12 Sep 2024 17:25:32 UTC
On Thu, Sep 12, 2024 at 1:16 PM Sad Clouds <cryintothebluesky@gmail.com> wrote: > Hi, I'm using FreeBSD-14.1 and on this particular system I only have a > single physical network interface, so I followed instructions for > networking vnet jails via epair and bridge, e.g. > > devel > { > vnet; > vnet.interface = "e0b_devel"; > exec.prestart += "/jails/jib addm devel genet0"; > exec.poststop += "/jails/jib destroy devel"; > } > > The issue is bulk TCP performance throughput between this jail and the > host is quite poor, with one CPU spinning 100% in kernel and others > sitting mostly idle. > > It seems there is some lock contention somewhere, but I'm not sure if > this is around vnet, epair or bridge subsystems. Are there > other alternatives for vnet jails? Can anyone recommend specific > deployment scenarios? I've seen references to netgraph which could be > used with jails. Does it have better performance and scalability and > could replace epair and bridge combination? > > Thanks. > > You need to define `poor'. You need to show `top -SH` while the `problem' occurs. My guess is packets are getting shuttled between a global taskqueue thread. This is the default, or at least I'm not aware of this default being changed. You can try enabling `options RSS' in your kernel as this would introduce a taskqueue worker thread per cpu. ~Paul -- __________________ :(){ :|:& };: