
		    README FILE FOR DIABLO RELEASE 1.09

		**** NOTICE NOTICE NOTICE DHISTORY FILE RELOAD REQUIRED ****
		**** IF UPGRADING FROM 1.07 OR LOWER.  NO RELOAD IS     ****
		**** REQUIRED IF UPGRADING FROM 1.08			****

				    ---

    ** UPGRADING TO 1.09 FROM 1.07 or earlier requires the dhistory file to be
       reload.  Upgrading from 1.08 to 1.09 does not require the dhistory file
       to be reloaded.

    READ THE INSTALL INSTRUCTIONS *CAREFULLY* AND ALSO READ THE SECTION AT THE
    END OF THE **INSTALL** FILE ENTITLED: 'UPGRADING TO 1.09' if you are 
    ugprading from 1.07 or earlier to 1.08 or later.

				    ---

    DIABLO is a news transit server.  It is designed to replace INN on a
    newsfeeds machine.  It is NOT currently designed to replace INN on a
    newsreader machine.  That is, Diablo only understands ihave,
    mode stream, and related commands.  It does not understand mode
    reader NNTP commands, and its spool file format is not compatible with
    INN.  Diablo stores files in a spool, expires them, and maintains a 
    dhistory file, but has no concept of an active file.  Articles are 
    named by message-id, so there is no link() problem.

    Typically, anyone taking a full feed these days must dedicate a
    machine to it that is separate from the newsreader machine that your 
    users use to read news.  DIABLO is designed to replace the dedicated
    newsfeeds machine.

    DIABLO solves most of the problems INN has dealing with multiple
    incoming and outgoing feeds and will typically increase the performance
    of your newsfeeds machine by 5x.  Diablo has been successfully deployed
    at BEST Internet, whos newsfeeds machine is configured as follows:

	* Diablo
	* 128MB ram
	* pentium pro 200 running FreeBSD
	* 10BaseT into a FDDI-backed etherswitch
	* three 4G ultra-wide barracuda disks (two striped to make the spool)
	* 9+ fully transited full feeds
	* 60+ outgoing feeds, including two to local newsreader machines

    Switching from INN1.4unoff4 to Diablo yielded a 5x to 10x performance 
    increase in everything except disk I/O.  Disk I/O performance increased
    about 4x, mainly due to the forking nature of the Diablo server.  At
    peak, the news machine runs with a typical cpu load of 0.20, a
    typical network aggregate of 300 to 700 KBytes/sec (that's BYTES/sec),
    and a typical (estimated) I/O saturation of 20%, assuming the
    system is seek-limited which it is pretty much.  At peak,
    FreeBSD typically uses around half the available memory for its buffer
    cache.

			MACHINE AND OS REQUIREMENTS

    You must be running a UNIX-compatible operating system that 
    supports shrared+read-only mmap()'s and flock() (or POSIX fcntl locks)
    Diablo will not compile otherwise.

    As a matter of principle, I am requiring a minimum of ANSI-C
    level compilation (e.g. prototypes must be supported), flock()/fcntl() 
    on local filesystems, and shared read-only mmap()'s.

			    WHO SHOULD RUN DIABLO

    If you are running separate newsfeed and newsreader machines, then
    diablo is for you.  Even more so if you are dealing with a lot of
    feeds.

			    WHERE TO GET DIABLO

    http://www.backplane.com/diablo/

			    REPORTING BUGS

    send the bug to:		diablo-bugs@backplane.com
    send non-bug stuff to:	diablo@backplane.com
    email to the author:	dillon@backplane.com (Matthew Dillon)


			    DISCUSSION

    I was thinking news.software.nntp for now.  I do not personally
    like mailing lists as they are too difficult to read when the
    posting rate goes up, even when digested.


