Skip to content
GitLab
  • Explore
  • Sign in
  • The Tor Project
  • Anti-censorship
  • Pluggable Transports
  • Snowflake
  • Issues
  • #40239

Experiment with increasing conntrack table size on snowflake-01

During performance experimentation we (@linus and I) disabled connection tracking, suspecting it as a cause of high CPU use and because the conntrack table appeared to be dangerously close to being full. Let we re-enabled connection tracking to no apparent ill effect. Performance optimizations in snowflake-server were enough to bring the CPU use under control. The conntrack table still appears to be close to overflowing, but we are not actually seeing any "nf_conntrack: table full, dropping packet" kernel logs that would indicate an actual problem.

At this moment the conntrack table is 92% full (nf_conntrack_count / nf_conntrack_max = 240316 / 262144). It could be that this is normal and nothing to worry about. Let's try doubling the maximum number of entries and see if it reaches a new equilibrium. Currently we have:

# cat /proc/sys/net/netfilter/nf_conntrack_{count,max,buckets}
240316
262144
65536

I'm going to do this:

echo 131072 > /proc/sys/net/netfilter/nf_conntrack_buckets
echo 524288 > /proc/sys/net/netfilter/nf_conntrack_max

And meanwhile I'll run a tracking script to record nf_conntrack_count once per minute.

Assignee
Assign to
Time tracking