* Any Performance benchmark on a Million conntracks @ 2010-05-20 12:51 Anand Raj Manickam 2010-05-20 13:04 ` Eric Dumazet 2010-05-21 14:05 ` Simon Lodal 0 siblings, 2 replies; 9+ messages in thread From: Anand Raj Manickam @ 2010-05-20 12:51 UTC (permalink / raw) To: netfilter-devel Hi, Is there any performance bench mark on conntrack response to 1 million conntrack entries in the conntrack table. Since conntrack uses Hashing to lookup the entries i had some doubts on the scalability. Can someone shed some light please? Thanks, Anand ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Any Performance benchmark on a Million conntracks 2010-05-20 12:51 Any Performance benchmark on a Million conntracks Anand Raj Manickam @ 2010-05-20 13:04 ` Eric Dumazet 2010-05-20 14:03 ` Patrick McHardy 2010-05-21 14:05 ` Simon Lodal 1 sibling, 1 reply; 9+ messages in thread From: Eric Dumazet @ 2010-05-20 13:04 UTC (permalink / raw) To: Anand Raj Manickam; +Cc: netfilter-devel Le jeudi 20 mai 2010 à 18:21 +0530, Anand Raj Manickam a écrit : > Hi, > Is there any performance bench mark on conntrack response to 1 million > conntrack entries in the conntrack table. > Since conntrack uses Hashing to lookup the entries i had some doubts > on the scalability. Can someone shed some light please? Question is not about number of conntrack entries in hash table, but number of inserts and deletes per second. For persistent connections, if you use a hash table of one million slots, performance will be very good, since the chain length is small. Its scalable because each cpu can access conntrack table without locks, in parallel. The real problem comes from serialization of inserts/deletes on a central lock. Even with few entries (less than 50.000), this can be a problem because its not scalable. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Any Performance benchmark on a Million conntracks 2010-05-20 13:04 ` Eric Dumazet @ 2010-05-20 14:03 ` Patrick McHardy 2010-05-20 17:13 ` Anand Raj Manickam 0 siblings, 1 reply; 9+ messages in thread From: Patrick McHardy @ 2010-05-20 14:03 UTC (permalink / raw) To: Eric Dumazet; +Cc: Anand Raj Manickam, netfilter-devel Eric Dumazet wrote: > Le jeudi 20 mai 2010 à 18:21 +0530, Anand Raj Manickam a écrit : >> Hi, >> Is there any performance bench mark on conntrack response to 1 million >> conntrack entries in the conntrack table. >> Since conntrack uses Hashing to lookup the entries i had some doubts >> on the scalability. Can someone shed some light please? > > Question is not about number of conntrack entries in hash table, but > number of inserts and deletes per second. > > For persistent connections, if you use a hash table of one million > slots, performance will be very good, since the chain length is small. > Its scalable because each cpu can access conntrack table without locks, > in parallel. Actually the recommended hash table size is twice the number of expected connections since each conntrack is hashed twice :) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Any Performance benchmark on a Million conntracks 2010-05-20 14:03 ` Patrick McHardy @ 2010-05-20 17:13 ` Anand Raj Manickam 2010-05-20 17:44 ` Eric Dumazet 0 siblings, 1 reply; 9+ messages in thread From: Anand Raj Manickam @ 2010-05-20 17:13 UTC (permalink / raw) To: Patrick McHardy; +Cc: Eric Dumazet, netfilter-devel On Thu, May 20, 2010 at 7:33 PM, Patrick McHardy <kaber@trash.net> wrote: > Eric Dumazet wrote: >> Le jeudi 20 mai 2010 à 18:21 +0530, Anand Raj Manickam a écrit : >>> Hi, >>> Is there any performance bench mark on conntrack response to 1 million >>> conntrack entries in the conntrack table. >>> Since conntrack uses Hashing to lookup the entries i had some doubts >>> on the scalability. Can someone shed some light please? >> >> Question is not about number of conntrack entries in hash table, but >> number of inserts and deletes per second. >> >> For persistent connections, if you use a hash table of one million >> slots, performance will be very good, since the chain length is small. >> Its scalable because each cpu can access conntrack table without locks, >> in parallel. > My understanding is that , the chances of persistent connections on Networks using internet is less. Suppose , if there are around 50,000 connections adds and 50,000 connection deletes on 1 million conncurrent conntrack entry table we have a scalabilty problem ? The reason why i m posting this question is on the ablity of hash tables on 1 million entries vs rb trees handling 1 million entries . > Actually the recommended hash table size is twice the number of > expected connections since each conntrack is hashed twice :) > So , if i m expecting (i m just expecting connections from users NOT on HELPERS/EXPECTATION) 1 million connections do i need to set the conntrack table to 2 million ? How much memory do we need to maintain 1 million connections ? The typical iptables/netfilter say about 32k connections for 512 MB RAM / 64k connections for greater than 1 GB. As per my understanding each conntrack entry is about 300 odd bytes ,assuming 310 bytes per conntrack entry , (310 * 1000000) roughly around 300 MB -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Any Performance benchmark on a Million conntracks 2010-05-20 17:13 ` Anand Raj Manickam @ 2010-05-20 17:44 ` Eric Dumazet 2010-05-20 23:43 ` Changli Gao 0 siblings, 1 reply; 9+ messages in thread From: Eric Dumazet @ 2010-05-20 17:44 UTC (permalink / raw) To: Anand Raj Manickam; +Cc: Patrick McHardy, netfilter-devel Le jeudi 20 mai 2010 à 22:43 +0530, Anand Raj Manickam a écrit : > Suppose , if there are around 50,000 connections adds and 50,000 > connection deletes on 1 million conncurrent conntrack entry table we > have a scalabilty problem ? > Yes, unless you use one cpu. > The reason why i m posting this question is on the ablity of hash > tables on 1 million entries vs rb trees handling 1 million entries . Do you have an idea of the depth of a rb tree with 1 million entries ? Well sized hash table is about 25 x faster than a rb tree in this case for pure lookups, and inserts and deletes in hash table are about 100x faster in this case. hash table : one or two cache misses per lookup or inserts/deletes rbtree with one million entries : about 25 caches misses per lookup, and maybe 100 cache misses per insert/delete. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Any Performance benchmark on a Million conntracks 2010-05-20 17:44 ` Eric Dumazet @ 2010-05-20 23:43 ` Changli Gao 2010-05-21 2:34 ` Eric Dumazet 0 siblings, 1 reply; 9+ messages in thread From: Changli Gao @ 2010-05-20 23:43 UTC (permalink / raw) To: Eric Dumazet; +Cc: Anand Raj Manickam, Patrick McHardy, netfilter-devel On Fri, May 21, 2010 at 1:44 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > > Do you have an idea of the depth of a rb tree with 1 million entries ? > > Well sized hash table is about 25 x faster than a rb tree in this case > for pure lookups, and inserts and deletes in hash table are about 100x > faster in this case. > > hash table : one or two cache misses per lookup or inserts/deletes > > rbtree with one million entries : about 25 caches misses per lookup, and > maybe 100 cache misses per insert/delete. > > and we have to do insertion and deletion in serial with rbtree, so rbtree doesn't scales as well as hash tables for parallel processing, if there are many insertions and deletions operations. -- Regards, Changli Gao(xiaosuo@gmail.com) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Any Performance benchmark on a Million conntracks 2010-05-20 23:43 ` Changli Gao @ 2010-05-21 2:34 ` Eric Dumazet 2010-05-21 3:06 ` Changli Gao 0 siblings, 1 reply; 9+ messages in thread From: Eric Dumazet @ 2010-05-21 2:34 UTC (permalink / raw) To: Changli Gao; +Cc: Anand Raj Manickam, Patrick McHardy, netfilter-devel Le vendredi 21 mai 2010 à 07:43 +0800, Changli Gao a écrit : > On Fri, May 21, 2010 at 1:44 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > > > > Do you have an idea of the depth of a rb tree with 1 million entries ? > > > > Well sized hash table is about 25 x faster than a rb tree in this case > > for pure lookups, and inserts and deletes in hash table are about 100x > > faster in this case. > > > > hash table : one or two cache misses per lookup or inserts/deletes > > > > rbtree with one million entries : about 25 caches misses per lookup, and > > maybe 100 cache misses per insert/delete. > > > > > > and we have to do insertion and deletion in serial with rbtree, so > rbtree doesn't scales as well as hash tables for parallel processing, > if there are many insertions and deletions operations. > > Before saying such things, you should read the source code Changli, because you only propagate wrong information. conntrack uses a single lock, so inserts and deletes _are_ serialized, _even_ with hash table. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Any Performance benchmark on a Million conntracks 2010-05-21 2:34 ` Eric Dumazet @ 2010-05-21 3:06 ` Changli Gao 0 siblings, 0 replies; 9+ messages in thread From: Changli Gao @ 2010-05-21 3:06 UTC (permalink / raw) To: Eric Dumazet; +Cc: Anand Raj Manickam, Patrick McHardy, netfilter-devel On Fri, May 21, 2010 at 10:34 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > Le vendredi 21 mai 2010 à 07:43 +0800, Changli Gao a écrit : >> >> and we have to do insertion and deletion in serial with rbtree, so >> rbtree doesn't scales as well as hash tables for parallel processing, >> if there are many insertions and deletions operations. >> >> > > Before saying such things, you should read the source code Changli, > because you only propagate wrong information. > > conntrack uses a single lock, so inserts and deletes _are_ serialized, > _even_ with hash table. > Sorry. I should add "Off Topic", as I said that for common cases, not for conntracking. -- Regards, Changli Gao(xiaosuo@gmail.com) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Any Performance benchmark on a Million conntracks 2010-05-20 12:51 Any Performance benchmark on a Million conntracks Anand Raj Manickam 2010-05-20 13:04 ` Eric Dumazet @ 2010-05-21 14:05 ` Simon Lodal 1 sibling, 0 replies; 9+ messages in thread From: Simon Lodal @ 2010-05-21 14:05 UTC (permalink / raw) To: Anand Raj Manickam; +Cc: netfilter-devel FWIW, the load on my routers is regularly 400k conns, 5k inserts + 5k deletes, and 280 kpps traffic (140 kpps in each direction). There are certain scalability issues that I am investigating, but they do not seem related to conntracking at all. I have configured for 8 million entries (2m buckets). Torsdag 20 maj 2010 14:51:45 skrev Anand Raj Manickam: > Hi, > Is there any performance bench mark on conntrack response to 1 million > conntrack entries in the conntrack table. > Since conntrack uses Hashing to lookup the entries i had some doubts > on the scalability. Can someone shed some light please? > Thanks, > Anand > -- > To unsubscribe from this list: send the line "unsubscribe netfilter-devel" > in the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-05-21 14:05 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-05-20 12:51 Any Performance benchmark on a Million conntracks Anand Raj Manickam 2010-05-20 13:04 ` Eric Dumazet 2010-05-20 14:03 ` Patrick McHardy 2010-05-20 17:13 ` Anand Raj Manickam 2010-05-20 17:44 ` Eric Dumazet 2010-05-20 23:43 ` Changli Gao 2010-05-21 2:34 ` Eric Dumazet 2010-05-21 3:06 ` Changli Gao 2010-05-21 14:05 ` Simon Lodal
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).