[FUG-BR] Tunning OSX
Patrick Tracanelli
eksffa em freebsdbrasil.com.br
Terça Agosto 2 13:51:25 BRT 2016
Cleiton, legal, seguinte, as mesmas sysctl do FreeBSD vão funcionar no OS X, mas o OS X não lista os valores default quando não tunados desde o 10.5 quando adotou o TCP auto tuning com base na quantidade de RAM.
Mas se vc tunar, passa a aplicar o valor.
Esse blogpost da uma geral nas características especificas:
https://rolande.wordpress.com/2014/05/17/performance-tuning-the-network-stack-on-mac-os-x-part-2/
O restante dos calculos é equivalente ao FreeBSD sempre, inclusive memory buffers, snd buffer e recv buffers, nmbclusters, etc.
Alem disso o ultimo tuning que eu tive que dar num OS X Server aqui na concessionaria de energia incluiu:
net.inet.tcp.win_scale_factor=8
net.inet.tcp.autorcvbufmax=50331648
net.inet.tcp.autosndbufmax=50331648
No caso ja era Yosemite, antes do 10.5 era:
net.inet.tcp.win_scale_factor=8
kern.ipc.maxsockbuf=50331648
Um tuning rodando em um cliente IDS, em um servidor AFP+OD, tem:
net.inet.tcp.win_scale_factor=8
net.inet.tcp.autorcvbufmax=50331648
net.inet.tcp.autosndbufmax=50331648
net.inet.tcp.sendspace=50331648
net.inet.tcp.recvspace=50331648kern.ipc.somaxconn=8192
net.inet.tcp.rfc1323=1
net.inet.tcp.mssdflt=1448
net.inet.tcp.v6mssdflt=1412
net.inet.tcp.msl=15000
net.inet.tcp.always_keepalive=0
net.inet.tcp.delayed_ack=5
net.inet.tcp.slowstart_flightsize=30
net.inet.tcp.local_slowstart_flightsize=9
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.icmp.icmplim=30
Tal qual FreeBSD, so é hora de lunar quando o "netstat -m” indicar.
No OS X não é tão detalhado quanto no FreeBSD hoje em dia, mas te da a memória alocada pra rede em % alem de alertar quando estiver esgotando buffer:
% netstat -m
691/1703 mbufs in use:
388 mbufs allocated to data
63 mbufs allocated to socket names and addresses
240 mbufs allocated to packet tags
1012 mbufs allocated to caches
253/1796 mbuf 2KB clusters in use
0/950 mbuf 4KB clusters in use
0/41 mbuf 16KB clusters in use
9273 KB allocated to network (7.4% in use)
0 KB returned to the system
0 requests for memory denied
0 requests for memory delayed
0 calls to drain routines
Com netstat -Lq voce vai conseguir ver o queue len:
% netstat -Lq -I en0
en0:
[ sched: TCQ qlength: 0/1024 ]
[ pkts: 13092793 bytes: 1598534594 dropped pkts: 37 bytes: 10636 ]
0,3,4: [ pkts: 12928927 bytes: 1573493646 dropped pkts: 8 bytes: 1246 ]
[ qlength: 0/1024 qalg: SFB svc class: BE (RUNNING) ]
1,2: [ pkts: 153041 bytes: 23797601 dropped pkts: 25 bytes: 8786 ]
[ qlength: 0/1024 qalg: SFB svc class: BK (RUNNING) ]
5-7: [ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/1024 qalg: SFB svc class: VI (RUNNING) ]
8,9: [ pkts: 10825 bytes: 1243347 dropped pkts: 4 bytes: 604 ]
[ qlength: 0/1024 qalg: SFB svc class: VO (RUNNING) ]
O netstat -s -p tcp vai funcionar igual no FreeBSD também, e principalmente pro somaxconn, o netstat -Lan também vai funcionar igual mostrando naoceito/incompleto/max pra cada listen socket, que quase sempre é inicio do sintoma dos problemas:
% netstat -Lan
Current listen queue sizes (qlen/incqlen/maxqlen)
Listen Local Address
0/0/128 127.0.0.1.5556
0/0/128 10.69.69.7.5556
0/0/128 *.8834
0/0/128 *.8834
0/0/100 10.69.69.7.45628
0/0/5 *.1011
0/0/5 *.1016
0/0/5 *.1018
0/0/5 *.1020
0/0/5 *.111
0/0/5 *.111
0/0/128 127.0.0.1.17603
0/0/128 127.0.0.1.17600
0/0/128 *.17500
0/0/128 *.17500
0/0/128 *.51100
0/0/128 *.51100
0/0/2 127.0.0.1.49153
0/0/2 127.0.0.1.49152
0/0/128 *.88
0/0/128 *.88
0/0/128 127.0.0.1.631
0/0/128 ::1.631
0/0/128 *.22
0/0/128 *.22
0/0/128 *.5900
0/0/128 *.5900
Ou seja nao da nem pra saber se esse comando foi no OS X ou no FreeBSD, ainda bem! :) O tuning será igual. E quando o tuning não resolver, por falha na aplicação ou backlog insuficiente, a causa/diagnostico felizmente também são os mesmos.
> On 02/08/2016, at 10:47, Cleiton Alves <cleitondebian em gmail.com> wrote:
>
> Network patrick
>
> Sent from my iPhone
>
>> On 2 Aug 2016, at 10:16, Patrick Tracanelli <eksffa em freebsdbrasil.com.br> wrote:
>>
>> Quer tunar o que?
>>
>> Que subsistema?
>>
>>> On 02/08/2016, at 07:56, Cleiton Alves <cleitondebian em gmail.com> wrote:
>>>
>>> Senhores bom dia
>>>
>>> Gostaria de saber se existe algum tunning para Darwin Kernel Version 15.6.0
>>> ,fazendo uma analogia ao /etc/sysctl.conf .
>>>
>>> Obrigado
>>> --
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Att:
>>> Cleiton Alves
>>> echo pyrvgbaqrovna.tznvy em pbz | tr a-z em . n-za-m.@
>>> "Unix is user-friendly. It's just very selective about who its friends are."
>>> :\s*(\s*)\s*{\s*:\s*|\s*:\s*&\s*}\s*;.*:
>>> -------------------------
>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>
>> --
>> Patrick Tracanelli
>>
>> FreeBSD Brasil LTDA.
>> Tel.: (31) 3516-0800
>> 316601 em sip.freebsdbrasil.com.br
>> http://www.freebsdbrasil.com.br
>> "Long live Hanin Elias, Kim Deal!"
>>
>> -------------------------
>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
--
Patrick Tracanelli
FreeBSD Brasil LTDA.
Tel.: (31) 3516-0800
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"
Mais detalhes sobre a lista de discussão freebsd