.Ch "Tuning C News"
.Ix tuning performance
.Ix performance tuning
.SH
Kernel tuning
.Ix tuning kernel
.PP
The number of in-core i-nodes kept by the
.Ix i-nodes in-core
.UX
kernel can make a dramatic difference to the performance of
.I expire ,
in particular.
The 4BSD
.I namei
cache seems to be markedly more effective given plenty of
in-core i-nodes.
Recent 4BSD or SunOS systems typically have a kernel
variable called
.I ninode
.Ix ninode
(or more precisely,
.I _ninode ),
which should be increased
from its usual value of a few hundred
to a few thousand.
(It appears that the value of
.I ninode
should exceed the number of directories under
.Fn "" /usr/spool/news .)
Details vary;
if you are comfortable patching
.Fn "" /vmunix
with
.I adb ,
that will work,
otherwise
editing your master copy of
.Fn "" param.c
and rebuilding the kernel should do the job.
On Ultrix,
the variable is probably called
.I ngnode
(\c
.I _ngnode ).
.Ix ngnode
On other systems,
the variable may actually be a compile-time
.B #define d
constant called
.I NINODE .
.SH
Disk layout
.PP
.Ix tuning "disk layout"
Spreading disk activity across multiple drives and controllers
helps to minimise elapsed time.
These suggestions obviously only apply if you have the resources
on hand to implement them.
Sites that batch outgoing news for uucp
will benefit by having
.Fn "" /usr/spool/uucp
and
.Fn NEWSARTS
on separate drives,
which avoids the frantic head motion between the two partitions
if they share a single drive.
Putting
.Fn NEWSARTS /in.coming
on a separate drive
from
.Fn NEWSARTS
avoids similar head motion during news unbatching.
.PP
Although C News
now supports multiple partitions mounted
(or symlinked)
under
.Fn NEWSARTS
for article storage,
whether or not the underlying operating system supports
links or symbolic links,
it is fastest to make
the article tree
a single partition.
Multiple partitions require that either symbolic links or copies
be made.
.SH
Control files
.PP
.Ix tuning "sys files"
Long newsgroup patterns in the
.Fn "" sys
file take longer to process than short ones.
Certain redundant idioms can be collapsed,
for example,
.B comp,comp.all
can be rewritten as simply
.B comp ,
and
.B alt.binaries,comp.binaries,fj.binaries
as
.B all.binaries .
Consider that the entry for
a site asking for all but some hierarchy,
say
.B alt ,
should probably be written as
.B all,!alt,!to,to.site
(ignoring the religious issue of distribution handling)
rather than
.B comp,news,sci,misc,talk,rec,soc,biz,gnu,bionet,eunet,to.site,world
(which will have to be updated when a new hierarchy appears anyway).
Consider too that
a neighbour requesting
.B comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.bugs,comp.sys.sgi.graphics,comp.sys.sgi.hardware,comp.sys.sgi.misc, [...]
should probably just be sent
.B comp.sys.sgi
(with a suitable warning).
