On Monday 26 February 2007 06:07, you wrote: > Hello, cc to the list, it may help others. > Thanks for your answer > Do you know a method to choose hashSize as you explain me for > conntrack max ? Yes, the hash table size(search wikipedia if you do not know what a hash table is) is the numbers of bucket that you have. So if you have a table with 10 buckets and you put 160 conntrack entries(conntrack_max), then each bucket will have 16 average entries. In practice can happens that a bucket has 0 and other has 30 or more, it depends on the eficency of the hash algorithm, but you can assume an average of 16 to do your maths. After the bucket is found by the hash function, the entrie is searched lineary, so in our example with hash_size at 10 and conntrack_max at 160, the kernel will do at last an 16 items linear search, so just to simplify, whe can assume an average linear search of 8 items. In a 1GB memroy i386PC, the linux kernel defaults to 8180 buckets and 65440 entries, if you start reciving messages that conntrack table is full, you can just rise up the entries to an 1/16 ratio (as in the example above), this means set conntrack_max to 13088 and leave hash_size in 8180. At 5000 searches per second you will have an average of 5000*8=40000 aditional operations to search an item, 40000 operations/second shure cost some cpu cycles. But if you rise up the bucket as well to 65440(1/2 ratio) you will reduce the number to just 5000 operations per second. To choose the rigth number just depends on how much RAM you have, how fast is you CPU, and how many searches are made in the conntrack table. -- Luciano _______________________________________________ LARTC mailing list LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc