Setting the spool directory of the appropriate size and characteristics is crucial for good performance. For guidance regarding the size see Setting the spooldb_slots parameter. Here we give some hints for creating a high performance spool.
Use a zfs partition mounted on /var/noaaport/nbsp/spool. The requirements are
The relevant commands are then
# zpool create zpool0 da1 da2 da3 # zfs create -o mountpoint=/var/noaaport/data -o atime=off \ zpool0/noaaport-data # zfs create -o mountpoint=/var/noaaport/nbsp/spool -o atime=off \ zpool0/noaaport-nbsp-spool
There is no limitation on the size of the spool with this setup (except of course the total disk space).
Use a tmpfs of the appropriate size mounted on /var/noaaport/nbsp/spool. The size depends on the available Ram. As an example, we will set a 2 GB tmpfs spool.
Following the recommendation in Setting the spooldb_slots parameter, set in nbspd.conf
set spooldb_slots 32768
This would limit the spool average retention time to about 13 minutes (assuming 2500 files/minute) and a size of about 1 GB (assuming 60 MB/min rate), which fit safely in 2 GB.
Then the following command creates the 2 GB tmpfs spool,
mount -t tmpfs -o size=2g tmpfs /var/noaaport/nbsp/spool
or alternatively in /etc/fstab
tmpfs /var/noaaport/nbsp/spool tmpfs size=2G 0 0
After creating any of these file systems, the permissions/ownsership must be set such that the nbsp user noaaport:noaaport can write to them e.g.,
cd /var/noaaport/nbsp chown noaaport:noaaport spool
See also Disk setup.