May 2014
==== Background ====
Setting the spool directory of the appropriate size and characteristics
is crucial for good performance. For guidance regarding the size see
[[projects:nbsp:articles:spooldb-slots.readme|Setting the spooldb_slots parameter]]. Here we give some hints for creating a high performance spool.
== FreeBSD ==
Use a zfs partition mounted on /var/noaaport/nbsp/spool.
The requirements are
* 64 bit machine
* 8 GB or more of Ram
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).
== Debian ==
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
[[projects:nbsp:articles:spooldb-slots.readme|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
== NOTE ==
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 [[projects:nbsp:articles:disk-setup.readme|Disk setup]].