BT Infinity – Poor OS X performance

Since BT upgraded my FTTC connection from 40/10Mb to 80/20Mb I’ve struggled to receive more than 50Mb speeds using OS X 10.7. Turned out to be a TCP settings issue, here’s the fix:

Suggested tuning parameters for a AFP client and AFP Server
Here are some suggested tuneables we have found to increase AFP
performance between Mac clients and a Mac server.

-Bring up a Terminal/shell window

-become root user with:

sudo sh

(supply the password…it will not display as you type)

The result should be that the “prompt” changes from
a $ to a #

Copy these lines with your mouse and execute them (right-click/paste)
them into the terminal/shell window you became root on. The list
of commands are different based on the amount of memory
you have on your system as well as if it is a client or server.

For an AFP server:

For systems with >= 16GBytes of memory,

echo “net.inet.tcp.delayed_ack=2” > /etc/sysctl.conf
echo “kern.maxnbuf=60000” >> /etc/sysctl.conf
echo “kern.maxvnodes=280000” >> /etc/sysctl.conf
echo “net.inet.tcp.sendspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.recvspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.maxseg_unacked=32” >> /etc/sysctl.conf

For systems with >= 8 GBytes of memory:

echo “net.inet.tcp.delayed_ack=2” > /etc/sysctl.conf
echo “kern.maxnbuf=42000” >> /etc/sysctl.conf
echo “kern.maxvnodes=150000” >> /etc/sysctl.conf
echo “net.inet.tcp.sendspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.recvspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.maxseg_unacked=32” >> /etc/sysctl.conf

For systems with >=4 GBytes of memory:

echo “net.inet.tcp.delayed_ack=2” > /etc/sysctl.conf
echo “kern.maxnbuf=60000” >> /etc/sysctl.conf
echo “kern.maxvnodes=280000” >> /etc/sysctl.conf
echo “net.inet.tcp.sendspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.recvspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.maxseg_unacked=32” >> /etc/sysctl.conf

or for systems with < 4GBytes of memory:

echo “net.inet.tcp.delayed_ack=2” > /etc/sysctl.conf
echo “kern.maxvnodes=60000” >> /etc/sysctl.conf
echo “net.inet.tcp.sendspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.recvspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.maxseg_unacked=32” >> /etc/sysctl.conf

For an AFP client:

For systems with >= 16GBytes of memory,

echo “net.inet.tcp.delayed_ack=2” > /etc/sysctl.conf
echo “net.inet.tcp.sendspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.recvspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.maxseg_unacked=32” >> /etc/sysctl.conf

For systems with >= 8 GBytes of memory:

echo “net.inet.tcp.delayed_ack=2” > /etc/sysctl.conf
echo “net.inet.tcp.sendspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.recvspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.maxseg_unacked=32” >> /etc/sysctl.conf

For systems with >=4 GBytes of memory:

echo “net.inet.tcp.delayed_ack=2” > /etc/sysctl.conf
echo “net.inet.tcp.sendspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.recvspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.maxseg_unacked=32” >> /etc/sysctl.conf

or for systems with < 4GBytes of memory:

echo “net.inet.tcp.delayed_ack=2” > /etc/sysctl.conf
echo “net.inet.tcp.sendspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.recvspace=2097152” >> /etc/sysctl.conf
echo “net.inet.tcp.maxseg_unacked=32” >> /etc/sysctl.conf

The above changes take effect after a reboot.

[Source]

Instant throughput increase to closer to the speeds that my modem reports.

Raspberry Pi LAMP

I’ve been experimenting with using the Raspberry Pi as a tiny low power LAMP machine. This was my first attempt running on Fedora:

I then stumbled across a similar project, released as an image, running on Arch Linux with Hiawatha instead of Apache:

Finally, the same process but this time running on a class 6 memory card, the previous videos were both running on class 4 cards:

It would probably make a perfectly adequate local development machine.

Raspberry Pi

They’ve arrived!

BHF London to Brighton 2011