D.4 FreeBSD

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

Table D-2. FreeBSD benchmarking results

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

Figure D-2. FreeBSD filesystem benchmarking traces
figs/SQ_ad02.gif

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).



    Appendix A. Config File Reference