From: simmdan@ux1.isu.edu
Subject: News.Admin.Technical FAQ (version 0.1)
Summary: NAT FAQ 0.1
Keywords: usenet faq questions answers nfs nntp
Organization: Idaho State University, Pocatello
Date: Sat, 10 Oct 1992 05:11:04 GMT

News.Admin.Technical Frequently Asked Questions W/Answers (version 0.1)
-----------------------------------------------------------------------
                      <<< the NAT FAQ >>>

OK, here is the beginning of the long awaited FAQ for usenet admin-
istrators.  I promised to do this way back in the summer, and it has
taken until now for me to get some time.  (Job changes and all that
jazz.)  You will soon see that this is just the beginning.  I haven't
had time to sit down and really do it up right, but today I saw one
too many repetitions of a question which has been discussed AT LENGTH
on n.a.t.  So, I decided that I would make a first release of the FAQ
with one frequently asked question and a pretty decent answer.

  NOTE:	This is a first draft.  Please let me know how I may improve 
	it.  Please let me know what other questions you would like to 
	see addressed.  (I already have a large list of my own, but 
	I'm always looking for more--preferably with answers, but that's 
	not essential.)

These answers come almost exclusively from the comments of other net 
persons.  I do NOT have experience with every one of these topics.  If
I mis-speak, please let me know, and I will attempt to correct it in
future versions of the FAQ.

For now, I'm just going to post this to N.A.T.  When I get something
more complete together, I'll try to arrange for it to go to
news.answers and to be avaialble via ftp.


Index
=====
     1.	How do I provide news to multiple hosts while maintaining only
	one news spool?  (a.k.a. "The Great NNTP vs. NFS Debate")


Questions and Answers
=====================

1) How do I provide news to multiple hosts while maintaining only one
   news spool?

This is a complicated and highly debated topic.  Before I present the 
various sides of the issue let me provide some general comments:

     1.	Do NOT even think about using NFS read-write.  This just doesn't
	work and everyone will be more than happy to tell you so.  (The
	problem lies in NFS's file-locking or lack there of.)  So, your
	alternatives are either NFS read-only with some other method
	for posting or NNTP only.  If you choose NFS read-only your 
	posting options are: use rsh to export an inews command to the 
	server, mail the articles to the server, or NNTP.  It seems to
	be the general consensus that rsh is not the best of options
	(even though it does work) because of potential access problems
	especially when you have a lot of users.  Mailing the articles
	to the server would work, but it's kind of a pain because you
	have to setup some special software on the readers as well as
	on the server (ie. only do this if you REALLY don't want to
	compile NNTP for some reason).  NNTP seems to be the best choice
	for posting with NFS. 

     2.	Keep in mind that these two options (NFS and NNTP) do not have
	to be exclusive of one another.  You can do both (NFS for some
	people and NNTP for others).

     3.	Which method gives you the best performance (that is, quick
	response time for the readers, minimal server load, and minimal
	network load--or the best trade-off of the three) is VERY, VERY
	dependent on your hardware, your implementation of NFS and the
	habits of your readers.  If performance is your primary concern,
	you will probably have to try both methods and see which one
	works best under your particular circumstances.

     4.	You may lower the priority on your server of the nntpd or the
	nfsd processes if you need to reduce your load.  The whole 
	issue of load is complicated because NNTP and NFS are like
	apples and oranges.  If you reduce the priority or number of
	processes for nfsd, then you are also reducing the priority
	nfsd gets for serving other NFS requests.  (Of course, this
	isn't a problem if the only thing you use NFS for is serving
	news.)  On the other hand, nntpd uses a separate process for
	every news reader which uses lots of RAM in your server.

	Basically, NFS seems to cause greater load on the network.
	(For instance, keep in mind that news unbatching, thread
	database creation, etc. is all done "publically".  The whole
	network is seeing it.)  NNTP on the other hand, seems to
	cause a greater load on the server (uses more ram, etc.).

     5.	While some would argue that NFS creates a security whole
	especially if used on an internet gateway machine, this isn't
	really a factor for most people because the real answer to
	this problem is to get a good router and have it filter
	dangerous packets (like rpc, rsh, rlogin) that come from 
	outside of your local net.

Now, on to the debate... 
Arguments for NFS (w/NNTP for posting):

     1. Users can grep through the news spool, use an editor to read
	news if they so desire, etc.  Basically, regular file access
	to news gives users more access methods if they want them.

     2.	You don't need to have multiple copies of the thread databases
	used by nn, trn, etc.

     3.	The bits might actually get from your server to your readers
	more quickly.

     4.	The load might be almost unnoticeable if you already use NFS
	for other things.

     5.	If your server goes down, your readers can leave their news
	reading programs running (but hung) and start reading again
	immediately when the server comes back up.  (In my opinion,
	this is kind of a weak argument, but there it is nonetheless.)


Arguments for NNTP (maybe with NFS export of the thread databases):

     1. If you use NFS, users can grep through the news spool, use an
	editor to read news, etc.  Even though this can be convenient
	for them, it could cause major load on your server if they,
	for instance, execute a find command on the entire news spool.
	This may or may not be a factor depending on the your readers.

     2.	NNTP give much better statistics/information on news reading.
	One example is that you can get a list of everyone who's read-
	ing at any one time so that you can notify them that the
	server is going down, etc.  There are other useful statistics
	as well.

     3.	NFS isn't always readily available on the machines that readers
	use.  For instance, they might have a PC or a Mac in which case
	NFS is expensive and NNTP based news readers are free (or cheap).

     4.	NNTP can give you increased control over the news readers and
	maybe some optimization.

	      -	You can filter groups by which machine is reading.
	      - You can simulate a shared library used by all news
		readers through hacking on NNTP.  For example, at least
		one individual has created a secondary NN database
		containing all the information needed to answer XHDR
		requests which rrn/trrn use.  This way all the info is
		in a few big files.  Opening files can be very expen-
		sive.  So, it is much more efficient than the usual
		way (and the only option if you use NFS) of opening each
		file maybe to just get the header info from the article.

		(You can find an implementation of this particular hack
		via ftp to sgigate.sgi.com:~ftp/net-services/nn-nntpd.
		Thanks to "lear@sgi.com".)

Final analysis/my opinion: Most of the time control is more important
than raw performance.  Also, machine power seems to be progressing
faster than network band-width at the moment.  So, I would suggest
sticking with NNTP and getting more RAM for your server if possible.
If you really need to maximize performance, though, you simply have
to try both options.

	----------------------------------------------------

<question 2 will go here when I get it done>

	----------------------------------------------------

That's all for now folks.

Danny

--------
Daniel Simmons      | "Some trust in chariots, and some in horses,
simmdan@ux1.isu.edu |    but we trust in the name of the Lord our God."
(208) 237-7491      |      -- Psalm 20:7
Newsgroups: news.admin.technical,news.software.nntp