<div dir="ltr"><div><div>> I've never done this kind of benchmarking (maybe Alberto has?)<br><br></div>Sorry; I haven't, honestly. Or rather, I have, but without a target speed or client count, or even access to heavy real traffic, I find it rather pointless. (The production networks where we're running translators are far from flooded.) The code has also been quite dynamic so performance results tend to get real stale real fast.<br><br></div><div>Right now I'm relying on users to notice bottlenecks. It's been far more productive, I feel: <a href="https://github.com/NICMx/Jool/issues/214">https://github.com/NICMx/Jool/issues/214</a><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 29, 2016 at 9:20 AM, Tore Anderson <span dir="ltr"><<a href="mailto:tore@fud.no" target="_blank">tore@fud.no</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">* v<br>
<span class=""><br>
> What is the CPU load on the x86 SIIT-BRs from Jool?<br>
<br>
</span>Our are practically idle. They are translating about 100Mb/s of mostly<br>
web traffic. The hardware is quite old even, Sun X4170s with 2x<br>
quad-core Intel L5520 CPUs. Less than a quarter of a single CPU core is<br>
used for the entire system (so not only Jool), the remaining 7.75 CPU<br>
cores are idle.<br>
<span class=""><br>
> Can you do 10G with an off-the-shelf server when provided with 2x 10G<br>
> NICs (one for input, one for output)?<br>
<br>
</span>I've never done this kind of benchmarking (maybe Alberto has?), but it<br>
wouldn't surprise me at all. If we assume that 100 Mb/s requires 0.25<br>
cores, my eigth-core system would reach full utilisation at 3200 Mb/s<br>
throughput. Modern CPUs have way more cores, and each core is way<br>
faster than mine, so 10 Gb/s seems very achievable to me.<br>
<br>
Another thing worth mentioning is that since SIIT is stateless, you can<br>
easily scale horizontally. Just add more servers with identical config,<br>
and have your Juniper do ECMP load-balancing between them.<br>
<br>
We do something related - we have a single BR in each of our data<br>
centres, and anycast the same prefixes (i.e., pool4 and pool6) from all<br>
of them. That gives us both optimal routing during normal operation as<br>
well as fault tolerance (if one BR fails, the traffic will just start<br>
flowing through the BR in another data centre).<br>
<br>
That said, if you need extreme performance and it turns out Jool is not<br>
up to the task, then you might be able to use VPP<br>
(<a href="https://fd.io/technology#one" rel="noreferrer" target="_blank">https://fd.io/technology#one</a>) instead. VPP uses Intel DPDK and is<br>
written with high performance in mind. I've never tried it as an<br>
SIIT-DC BR, but a friend of mine who is working on that project claims<br>
it should work.<br>
<span class="HOEnZb"><font color="#888888"><br>
Tore<br>
</font></span><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
Jool-list mailing list<br>
<a href="mailto:Jool-list@nic.mx">Jool-list@nic.mx</a><br>
<a href="https://mail-lists.nic.mx/listas/listinfo/jool-list" rel="noreferrer" target="_blank">https://mail-lists.nic.mx/<wbr>listas/listinfo/jool-list</a><br>
</div></div></blockquote></div><br></div>