FreeBSD is another popular Squid platform, and my personal favorite. Table D-2 and Figure D-2 summarize the results for FreeBSD. Again, coss exhibits the highest throughput, followed by diskd. The aufs storage scheme doesn't currently run on FreeBSD. These results come from FreeBSD Version 4.8-STABLE (released April 3, 2003). I built a kernel with the following noteworthy options:
options MSGMNB=16384 options MSGMNI=41 options MSGSEG=2049 options MSGSSZ=64 options MSGTQL=512 options SHMSEG=16 options SHMMNI=32 options SHMMAX=2097152 options SHMALL=4096 options MAXFILES=8192 options NMBCLUSTERS=32768 options VFS_AIO
Storage scheme |
Filesystem |
Mount options |
Throughput |
Response time |
Hit ratio |
---|---|---|---|---|---|
coss |
330.7 |
1.58 |
54.5 | ||
diskd(1) |
UFS |
async, noatime, softupdate |
129.0 |
1.58 |
54.1 |
diskd(2) |
UFS |
77.4 |
1.47 |
56.2 | |
ufs(1) |
UFS |
async, noatime, softupdate |
38.0 |
1.49 |
56.8 |
ufs(2) |
UFS |
noatime |
31.1 |
1.54 |
55.0 |
ufs(3) |
UFS |
async |
30.2 |
1.51 |
55.9 |
ufs(4) |
UFS |
softupdate |
29.9 |
1.51 |
55.7 |
ufs(5) |
UFS |
24.4 |
1.50 |
56.4 |
Enabling the async, noatime, and softupdate[3] options boosts the standard ufs performance from 24 to 38 transactions per second. However, using one of the other storage schemes increases the sustainable throughput even more.
[3] On FreeBSD, softupdates aren't a mount option, but must be set with the tunefs command.
FreeBSD's diskd performance (129/sec) isn't quite as good as on Linux (169/sec), perhaps because the underlying filesystem (ext2fs) is better.
Note that the trace for coss is relatively flat. Its performance doesn't change much over time. Furthermore, both FreeBSD and Linux report similar throughput numbers: 326/sec and 331/sec. This leads me to believe that the disk system isn't a bottleneck in these tests. In fact, the test with no disk cache (see Section D.8) achieves essentially the same throughput (332/sec).