On Mon, 2016-08-29 at 12:45 -0700, Tim Hockin wrote:
> I'm open to any and all options to make this better. That said, I
> simply can not reproduce iptables itself being absurdly slow. With
> 1000 Services, I get about 4000 iptables rules and I can't make
> `iptables-save | iptables-restore` take more than 160 ms (user+sys).
http://people.redhat.com/dcbw/kube-proxy.png
i7-5600U @ 2.6GHz: 700ms for 1000 services (2+4 cores+threads, kernel 4.6.6)
i7-4790 @ 3.6GHz: 270ms for 1000 services (4+8, kernel 4.6.7)
kube git master from Monday, built with Go 1.7, using hack/local-up-cluster.sh
Takeaways:
*** CPU makes a huge difference. Cores don't seem to, I disabled 2
cores (and their threads) on the 4790 and that didn't change the
results much. I don't think disk is a huge impact, as the 5600U has a
pretty fast Samsung SSD while the 4790 has 7200RPM spinning media, plus
iptables-restore doesn't do much with the disk as input is from stdin.
*** The 5600U (my laptop) was doing other stuff (like rendering this
chart) and that varies the results quite a bit, unlike the clean line
for the 4790 which was doing nothing but kube.
*** firewalld running in the background makes no difference
I'm really curious what distribution, kernel, and iptables versions
everyone is using?
Dan