Memory usage:

  	RAM:	180*4k*1.33*active users = 959k / active user

1024 acitve users per 1 GByte of memory will leave about 29% of the
memory free for other things (like the kernel, innd, ...).

NOTE: The 1.33 factor here assumes that the only major service being
run on the system is news.  Additional memory is needed if the system
is performing additional tasks.

The current news reader daemon process is very wasteful of memory
(720k per active reader).  I am exploring the architecture of a
parallel news reader which will dramatically cut down on the amount
of memory needed per active news reader.  There is NO estimated
date of completion of the parallel news reader project however.

=-=

The following is an estimation for news servers as of May 1997:

    /var/spool/news		(2*12 GByte / 1 day of news) + 2*4 GByte

	The file system that holds the news articles needs 2*12GB for
	each day of news that will be stored.  This file system is dual
	plexed, so you need 6 (six) 4GB disks (3 on each plex) for each
	day of news that you plan to hold.  XFS logging should be done
	on external drives, so an additional pair of 4GB disks (one for
	each plex) should be added to the total.

	We also place the overview database in this file system,
	which is used if people will be reading news off of the system.

	Recommended XFS parameters for this file system are:

	    -b size=2048 -d agcount=32 -l size=4000b -i perblock=2

	The 2k block size is a good tradeoff between speed and space
	with the edge towards saving space.  The perblock=2 allows for
	larger inodes.  Small directories are helped with a 1k inode.
	The directory info can reside in the inode reducing a disk op.
	All of the obscure newsgroups that have a small number of
	articles win with a 1k inode.

    /usr/local/news		2*4 GByte / 14 days of news

	The home directory of news needs 2*4GB per 14 days of news.
	This is a dual plexed file system that resides on TWO
	separate disks.  XFS logging in internal to the drives.

	Recommended XFS parameters for this file system are:

	    -b size=4096 -l size=1000b -i perblock=2

	Since history is in a different file system, the need to
        use a 8k block size no longer on this file system.  The
        default 4k block size should be good enough.

    /usr/local/news/log		2*4 GByte / 14 days of news

	The status logging of news needs 2*4GB per 14 days of news.
	This is a dual plexed file system that resides on TWO
	separate disks.  XFS logging in internal to the drives.

	Recommended XFS parameters for this file system are:

	    -b size=8192 -l size=1000b,internal -i perblock=4

	The 8k block size is a good tradeoff between speed and space
        with the edge towards I/O speed.

    /usr/local/lib/hist		2*4 GByte / 7 days of news

	The news history filesystem needs 2*4GB per 7 days of news.
	This is a dual plexed file system that resides on TWO
	separate disks.  XFS logging in internal to the drives.

	Recommended XFS parameters for this file system are:

	    -b size=8192 -l size=1000b,internal -i perblock=4

	The 8k block size is a good tradeoff between speed and space
        with the edge towards I/O speed.

    /usr/spool/news/out.going	2*4 GByte + int(2*4 GByte / 50 sites feed)

	The out.going file system holds information about news that
	is waiting to be sent to other news servers.  Even if you do
	not fed other sites, you need a minimum of 2*4GB disks (to
	process articles posted by users).  If you feed more than
	50 sites, you should add 2*4GB per 50 sites.  A server that
	feeds less than 50 sites can get away with just 2*4GB disks.
	This is a dual plexed file system that resides on TWO
	separate disks.  XFS logging in internal to the drives.

	Recommended XFS parameters for this file system are:

	    -b size=8192 -l size=1000b,internal -i perblock=4

	The 8k block size is a good tradeoff between speed and space
	with the edge towards I/O speed.

=-=

So to hold 7 days worth of news (as of May 1997) on a system that will
feed less than 50 sites and service users reading news:

        file system                     disk space (includes dual plexing)
        ========================        ==========
        /var/spool/news                 176 GBytes of 4 GByte disks
        /usr/local/news                 8 GBytes of 4 GByte disks
        /usr/local/news/log             8 GBytes of 4 GByte disks
        /usr/local/news/lib/hist        8 GBytes of 4 GByte disks
        /var/spool/news/out.going       8 GBytes of 4 GByte disks
        ------------------------        ---------------------------
        Total                           208 GBytes of 4 GByte disks

It is important to note that no two news related file system share the
same disk.  Put your news file systems on SEPARATE DISKS!  By separate
disks, I mean SEPARATE!  Don't use a raid box, it does not have the
independent disks that you need.  Use dual plex XFS file system for
reliability and performance.

Maximize the number of disk heads.  A pair of 4 GByte drives is MUCH
BETTER than a single 9 GByte drive.  Use 4 GByte drives.  If you must
use 9GB drives, then multiply ALL of the above sizes by 2.25 so
that you maintain the same number of disk heads.

Systems that keep news for only a short amount of time (say, because
they are transferring or feeding news to other systems) should
none-the-less plan on holding at least 3 days worth of news.  This
will provide at least 20 disk heads (includes 2 for XFS logging)
and give reasonable transfer performance.

chongo <Landon Curt Noll> /\oo/\

-- 
noll@toad.com: Sunnyvale City Council
chongo@sgi.com: So many primes, enough for everyone and then some!
