auto tuning tcp
Michael Tuexen
tuexen at FreeBSD.org
Tue Nov 13 12:58:11 UTC 2012
On Nov 13, 2012, at 1:43 PM, Andre Oppermann wrote:
> On 13.11.2012 09:41, Alfred Perlstein wrote:
>> On 11/13/12 12:25 AM, Andre Oppermann wrote:
>>> On 13.11.2012 09:18, Alfred Perlstein wrote:
>>>> On 11/13/12 12:06 AM, Andre Oppermann wrote:
>>>>> On 13.11.2012 07:45, Alfred Perlstein wrote:
>>>>>> If you are concerned about the space/time tradeoff I'm pretty happy with making it 1/2, 1/4th,
>>>>>> 1/8th
>>>>>> the size of maxsockets. (smaller?)
>>>>>>
>>>>>> Would that work better?
>>>>>
>>>>> I'd go for 1/8 or even 1/16 with a lower bound of 512. More than
>>>>> that is excessive.
>>>>
>>>> I'm OK with 1/8. All I'm really going for is trying to make it somewhat better than 512 when
>>>> un-tuned.
>>> >
>>>>> PS: Please note that my patch for mbuf and maxfiles tuning is not yet
>>>>> in HEAD, it's still sitting in my tcp_workqueue branch. I still have
>>>>> to search for derived values that may get totally out of whack with
>>>>> the new scaling scheme.
>>>>>
>>>> This is cool! Thank you for the feedback.
>>>>
>>>> Would you like me to put this on a user branch somewhere for you to merge into your perf branch?
>>>
>>> I can put it into my branch and also merge it to HEAD with
>>> a "Submitted by: alfred" line.
>>>
>> Thank you, that works. Note: it's not even compile tested at this point.
>>
>> I should be able to do so tomorrow.
>>
>> Are there other hashes to look at? I noticed a few more:
>>
>> UDBHASHSIZE
>
> Even busy UDP servers have only a small number of sockets open.
>
>> netinet/tcp_hostcache.c:#define TCP_HOSTCACHE_HASHSIZE 512
>
> This is per host, not per connection or socket. So it should by fine
> and scales independently.
>
>> netinet/sctp_constants.h:#define SCTP_TCBHASHSIZE 1024
>> netinet/sctp_constants.h:#define SCTP_PCBHASHSIZE 256
>
> Michael has look at that.
I can take a look... I also wanted to make it configurable...
Best regards
Michael
>
>> netinet/tcp_syncache.c:#define TCP_SYNCACHE_HASHSIZE 512
>
> Again this is not per connection or socket. It depends on the number
> of concurrent SYN's waiting on SYN/ACK-ACK for a listen socket. This
> should be fine and it has overflow protection. If a SYN entry is lost
> it reverts to syncookies.
>
>> Any of these look like good targets? I think most could be looked at. I've only glanced. I can
>> provide deltas.
>
> --
> Andre
>
>
More information about the freebsd-net
mailing list