network performance
Stefan Lambrev
stefan.lambrev at moneybookers.com
Thu Feb 7 02:18:15 PST 2008
Greetings,
Stefan Lambrev wrote:
> Greetings,
>
> Kris Kennaway wrote:
>> Stefan Lambrev wrote:
>>> Greetings,
>>>
>>> Kris Kennaway wrote:
>>>> Stefan Lambrev wrote:
>>>>
>>>>>> I'll use again hwpmc and LOCK_PROFILING to see what's going on.
>>>>>> And will try the same benchmark on quad core processor as now
>>>>>> numbers of cores/cpus matter :)
>>>>>>
>>>>> Here are promised results -
>>>>> http://89.186.204.158/lock_profiling-8.txt
>>> Finally I got pmcstat working - http://89.186.204.158/hwpmc-p4.txt
>>> The stats are gathered during 600kpp incoming.
>>> I think that syncache or what calls MD5Transform is not SMP able,
>>> and that's why outgoing 250kpps is the limit that I can't beat.
>>
>> It looks like the syncache is using most of the CPU time. However
>> you are not hitting problems caused by lack of concurrency there. It
>> does do a *lot* of work with the syncache mutex held (including
>> generation of the cookie, which involves MD5) so it might be an issue
>> in the future, but there are other bottlenecks in the way before that
>> is your main issue. Things may be different with more CPUs.
>>
>> Did you compare to what happens to performance when the syncache is
>> disabled?
>>
>> Kris
>>
> When I disable syncookies the server respond to more packets - from
> 250kpps enabled to 320kpps when disabled.
> Can I disable syncache and how?
Err you answer this already :)
So here are numbers in different syncache/coockies options:
net.inet.tcp.syncookies: 1 & net.inet.tcp.syncookies_only: 0
input (em0) output
packets errs bytes packets errs bytes colls
519748 0 31184880 252606 0 14651090 0
522321 0 31339260 251459 0 14584490 0
532242 0 31934520 242768 0 14080486 0
533484 0 32009040 249006 0 14442522 0
net.inet.tcp.syncookies: 0 & net.inet.tcp.syncookies_only: 0
input (em0) output
packets errs bytes packets errs bytes colls
512100 0 30726000 316873 0 18378866 0
517952 0 31077120 315868 0 18320270 0
531862 0 31911720 318416 0 18468244 0
526125 0 31567440 315283 0 18286340 0
net.inet.tcp.syncookies: 0 & net.inet.tcp.syncookies_only: 1
input (em0) output
packets errs bytes packets errs bytes colls
517257 0 31035420 315739 0 18310890 0
518328 0 31099680 316888 0 18381534 0
517168 0 31030080 316693 0 18368426 0
528273 0 31696320 315722 0 18311670 0
533153 0 31989240 314693 0 18252136 0
net.inet.tcp.syncookies: 1 & net.inet.tcp.syncookies_only: 1
input (em0) output
packets errs bytes packets errs bytes colls
539069 0 32344140 282434 0 16381272 0
538075 0 32284440 281569 0 16330886 0
538329 0 32299800 281908 0 16350880 0
534111 0 32046660 280906 0 16292258 0
536204 0 32172240 281169 0 16307860 0
Increasing net.inet.tcp.syncache.hashsize to 2048 (512 default)
input (em0) output
packets errs bytes packets errs bytes colls
532945 0 31976700 186833 0 10835096 0
533507 0 32010420 187053 0 10850292 0
530204 0 31812240 187672 0 10883758 0
531482 0 31888920 187585 0 10879930 0
534651 0 32079060 186977 0 10845884 0
This prove that syncache have negative impact on performance ?
> I'll try to increase syncache limits and will test again.
>
> Btw is this expected - net.inet.tcp.syncache.count: -387.
> I think this number should be always > 0.
>
>
--
Best Wishes,
Stefan Lambrev
ICQ# 24134177
More information about the freebsd-performance
mailing list