DMULTI is a mechanism for running multiple DNews processes. This is ONLY worthwhile if you have more than 50 concurrent users.
You will also need 'more RAM' and preferably more than one spool drive or the gains will be very minor.
Click on dadmin, Configure/Dmulti, and select a slave_n setting greater than 1.
In access.conf ensure you have ip numbers listed for your IHAVE feed, this is necessary for dmulti to correctly connect your incoming feed to the master DNews process (s0).
If you add an additional IHAVE feed in the future to access.conf, you will need to restart DNews not just do a reload for the new settings to be picked up (because dmulti needs to re-read the file, not just dnews).
If you use authentication insure your localhost 127.0.0.1 does not require authentication to do that add this entry to the end of access.conf:
127.0.0.1:read,post,ihave:::*
Done!!, see below for a manual description of what dadmin does on NT when you do this.
First, upgrade to DNews 5.0 or later
Configure your system to startup DMULTI instead of DNews:
Unix: Use dmulti_start.sh, instead of dnews_start.sh NT: Use dadmin, click on config/Dmulti and select a number of slaves
NT: tellnews exit NT: addsvc -del dnewssvc NT: addsvc -add dnewssvc dmulti.exe "DNEWS Multi Process Manager"
Configure the new slave parameters in dnews.conf
slave_n 3 # Number of DNews processes to run 2-4
In access.conf ensure you have ip numbers listed for your IHAVE feed, this is necessary for dmulti to correctly connect your incoming feed to the master DNews process (s0).
If you add an additional IHAVE feed in the future to access.conf, you will need to restart DNews not just do a reload for the new settings to be picked up (because dmulti needs to re-read the file, not just dnews).
If you use authentication insure your localhost 127.0.0.1 does not require authentication to do that add this entry to the end of access.conf:
127.0.0.1:read,post,ihave:::*
NOTE: On unix it is critical that incoming newsfeeds be sent direct to port 7500 for good performance (instead of port 119)
NT: net start dnewssvc (or click on start in DNews manager) UNIX: /usr/local/dnews/dmulti_start.sh
There is a log file dmulti.log which will show you if anything goes wrong.
We currently recommend using this setting in dnews.conf with dmulti:
slave_byfile true
This generally seems to fix some problems with new messages being incorrectly reported in slaves too early before the data is on disk. We may change this to be the default in future, but it won't hurt to set it manually.
Also we recommend this setting which greatly improves performance as it prevents cache invalidation occuring.
index_changes true
Since version 5.0 if slave_feed is NOT defined DNews will read access.conf and look for 'ihave' access rules to figure out who should be connected to the master DNews process and who should get connected to readers. Note that the slave_feed setting had a line length limit so if you have lots of incoming feeds you probably need to remove slave_feeder and use normal access.conf rules instead. The only 'gotcha' involved is that wild card 'name' entries are not acceptable, e.g.
1.2.3.*:ihave:::* (works) x.y.z:ihave:::* (works) *.x.y:ihave:::* (DOESN'T work)
DMULTI starts up 'slave_n' DNews processes (typically 2 or 3) the first one S0, is the master process, this is the one that accepts incoming news feeds, and this is the one your tellnews commands will go to. The others, S1-Sn, are reader processes, each one might have 30 news readers on it. DMULTI acts as a gateway, routing the incoming connections to the correct DNews process.
You can communicate with each slave individually using a new tellnews option. The first status line shows which process s0-sn is talking to you:
(Master process) tellnews -s 0 status (First reader) tellnews -s 1 status
You should always ensure that all the processes have closed before re-starting dnews/dmulti
If a problem develops, establish 'which' slave is not responding using 'tellnews -sN' and then copy the dnews.log from the faulty slave before restarting DNews.
Remove the slave parameters from dnews.conf and then replace the original DNews service (or startup script)
Uninstall NT: tellnews exit Uninstall NT: addsvc -del dnewssvc Uninstall NT: addsvc -add dnewssvc dnews.exe "DNEWS News Server"
And remove the slave_n setting from dnews.conf<<<<<<< dmulti.htm