README file for the Weasel utility CalcMaxUsers.exe
       author: Peter Moylan
---------------------------------------------------

The purpose of this program is to recommend "Max Users" values in four categories:

   SMTP = incoming mail
   POP  = mail fetches by your users
   MSA  = mail submission by your users
   MAIL OUT = outbound mail sent by Weasel

The "Max users" for the first three of these are found on the "Basic" page
of Weasel Setup. For the fourth one, the value being recommended is the
"Number of outbound mail threads" on the "Options 2" page of Setup.

The basis for these calculations is given in the document MailTuning.PDF
that is included in this package. The reason I wrote that document was that
I noticed that people were setting too-high "Max Users" values. The reason
why you shouldn't set them too high is that that makes it easier for
attackers to get easy access to your server. If you set the limits to be
appropriate for normal non-attacking traffic, then the attackers are
likely to get many "Too many users" errors, which slows down the process
of guessing your passwords.

The program gets its traffic estimates from a Weasel log file, and the way to
invoke it is with the command
       calcmaxusers data.log
where data.log is either the current Weasel.log or an archived log file.
(Personally, I prefer to run the program in its own directory, separately from
Weasel, to avoid a cluttered directory.) The bigger the log file, the more
accurate the traffic estimates will be. If you have an archive of log files,
you can concatenate two or more of them to produce a bigger file, with one
proviso: the timestamps have to be reasonably continuous. If there is a gap,
this program will think there was a period of no traffic, which will bias the
estimates.

Take particular note of the number of samples reported in the results. If the
results are based on fewer than about 100 samples, the results will be
statistically unreliable. To improve reliability, make sure you are
supplying at least a day's worth of data, and preferably a lot more.

One weakness of this method is that the log files report times only to the
nearest second, and with modern processors a POP or SMTP session will
often appear to be zero seconds long. To offset this bias, the program
adds 0.5 seconds to each calculated session time.

There is an option to produce CSV files, by supplying a second parameter
       calcmaxusers data.log csvdir
where csvdir is the name of the directory where the CSV files should be
put. (You may of course use '.' to mean the current directory.) The program
will produce four files in this directory called LOGM.CSV (for message
submission), LOGO.CSV (outbound mail), LOGP.CSV (POP), and LOGS.CSV
(inbound SMTP mail). You can open these files with a spreadsheet program
like OpenOffice Calc or Excel, and of course you can manipulate the data
any way you want. I use these to produce a graph of the "in progress"
numbers as a function of time, to see how the traffic varies with time.

If you'd like any other feature, please let me know.

