Permalänk
Inaktiv

Mac OS X - trimma nätverket

Jag sitter och leker lite med Mac OS X och försöker trimma nätverket lite (se http://www.psc.edu/networking/projects/tcptune/).

De val som artikeln rekommenderar att aktivera är påslagna från start i Mac OS X (10.4.8):

$ sysctl net.inet.tcp ... net.inet.tcp.rfc1323 = 1 ... net.inet.tcp.path_mtu_discovery = 1 ... net.inet.tcp.sack = 1 ...

Okej, dags att mecka med buffertstorlekarna. Jag testade först att ta värdena från artikeln rakt av men lyckades köra slut på buffertminne för anslutningar, så jag behöver hjälp med att förstå hur dessa värden hänger ihop.

Om jag beräknar BDP:

$ ping -c 10 guru PING guru.*.* (172.*.*.*): 56 data bytes 64 bytes from 172.*.*.*: icmp_seq=0 ttl=255 time=0.391 ms 64 bytes from 172.*.*.*: icmp_seq=1 ttl=255 time=0.337 ms 64 bytes from 172.*.*.*: icmp_seq=2 ttl=255 time=0.334 ms 64 bytes from 172.*.*.*: icmp_seq=3 ttl=255 time=0.477 ms 64 bytes from 172.*.*.*: icmp_seq=4 ttl=255 time=0.466 ms 64 bytes from 172.*.*.*: icmp_seq=5 ttl=255 time=0.453 ms 64 bytes from 172.*.*.*: icmp_seq=6 ttl=255 time=0.428 ms 64 bytes from 172.*.*.*: icmp_seq=7 ttl=255 time=0.345 ms 64 bytes from 172.*.*.*: icmp_seq=8 ttl=255 time=0.369 ms 64 bytes from 172.*.*.*: icmp_seq=9 ttl=255 time=0.332 ms --- guru.*.* ping statistics --- 10 packets transmitted, 10 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.332/0.393/0.477/0.055 ms

Som jag fattar det är BDP ett mått på mängden data som är i rörelse baserat på bandbredd och tidsfördröjning. Enligt formeln får jag (räknar på 4 ms):

(1000000000 / 8) * (4 / 1000) = 500000 = 0.5 MB

Eftersom Mac OS X använder en maximal buffertstorlek på 64 KB så borde jag alltså öka denna, normalt kan man enligt artikeln sätta den till minst det dubbla av BDP.

Före:

kern.ipc.maxsockbuf = 262144 net.inet.tcp.sendspace = 32768 net.inet.tcp.recvspace = 32768

Efter:

kern.ipc.maxsockbuf = 1048576 (1 MB) net.inet.tcp.sendspace = 524288 (0.5 MB) net.inet.tcp.recvspace = 524288 (0.5 MB)

OMFG: Efter att skapat /etc/sysctl.conf enligt ovan så vägrade Mac OS X att starta upp, var tvungen att ploppa i startskivan för att ta bort filen, vips så startar den upp som vanligt...

Någon som vet varför OS X vägrar att starta?