While updating the TCP tuning parameters on one of my OS X 10.11 servers, I noticed that my existing OS X TCP Performance Tuning page had gotten out of date. The page was nearly eight years old, so it is no surprise that happened. I updated the page in place since that is the definitive page location, but thought I would talk a little bit about what had changed.
First, RFC 1323 has been obsoleted and
replaced with RFC 7323. Although this has
not had much of an impact, it has removed one parameter we need to modify
(net.inet.tcp.rfc1323
). This parameter was on by default anyway, so we never
really had to change anything there.
Next, OS X 10.6 tied the socket buffer sizes to the number of mbuf clusters.
Specifically, the max socket buffer is limited to 1/16th of the memory size of
the mbuf cluster pool. In order to increase kern.ipc.maxsockbuf
to our desired
amount, we first have to increase kern.ipc.nmbclusters
which actually happens
in NVRAM. The updated TCP performance tuning document includes how to make that
change.
Otherwise, there have been very few changes needed since the page was originally published in 2007.