mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 12:37:37 +00:00
220 lines
8.4 KiB
Plaintext
220 lines
8.4 KiB
Plaintext
|
Netscape Mailstone - version 4.15 (Dec 10, 1999)
|
||
|
|
||
|
MailStone 4.15: Changes to since version 4.1
|
||
|
|
||
|
- Setup now checks license acceptance and configures a basic setup.
|
||
|
By default, it will also create a user LDIF file with a 'allusers'
|
||
|
account.
|
||
|
|
||
|
- All parameters and and testbed information may now be specified in
|
||
|
the workload files (*.wld). New sections: CONFIG, CLIENT, MONITOR,
|
||
|
PRETEST, and POSTTEST. Command line parameters still override the
|
||
|
files. A complete copy of the configuration is saved in
|
||
|
results/<TIMESTAMP>/all.wld.
|
||
|
|
||
|
- The '*.pl', '*.tbd', and 'config*' files in ./conf/ are depreciated.
|
||
|
These should still work, but the new sections are simpler and more flexible.
|
||
|
|
||
|
- Any CONFIG parameter can now be specified on the command line using
|
||
|
the form: 'PARAMETER=value'. Note that PARAMETER is case
|
||
|
insensitive. No whitespace is allowed before or after the '='.
|
||
|
|
||
|
- The new switch '-l' or CONFIG parameter 'ClientCount' can now
|
||
|
specify the total number of clients. The 'MaxClients' and
|
||
|
'MaxThreads' parameters in each CLIENT section control load
|
||
|
balancing. If the 'processes' and 'threads' parameters are set, then
|
||
|
the load for that CLIENT section will not be adjusted, but will be
|
||
|
taken into account when calculating other CLIENT sections. If just
|
||
|
'processes' is set, then only the thread count will be adjusted. All
|
||
|
hosts in a CLIENT section will run the same number of processes and
|
||
|
threads.
|
||
|
|
||
|
- bin/makeusers.pl now creates users, broadcast account, etc. Numbered passwords
|
||
|
are now suppored. The new user/password format now replaces '%ld' with
|
||
|
the user number to match the rest of mailstone. The ldif/ directory
|
||
|
is obsolete. Run "perl/bin/perl bin/makeusers.pl -h" for usage.
|
||
|
|
||
|
- NT client machines may now be used from a Unix test master. See
|
||
|
conf/sample.wld for configuration details.
|
||
|
|
||
|
- Commands can now be run for a specified block count, error count, or
|
||
|
time (whichever comes first). Set 'maxBlocks' and/or 'maxErrors'.
|
||
|
|
||
|
- Telemetry logging to /var/tmp/mstone-log.pn.tn is now performed when
|
||
|
"telemetry 1" is specified.
|
||
|
|
||
|
- The name used in the "CLIENT" section is now used to match
|
||
|
"HOSTS=..." qualifier. Compatibility with "hostname" is no
|
||
|
longer needed.
|
||
|
|
||
|
- Config values can now use quoted characters such as \n, \r, \t
|
||
|
|
||
|
- Config values can be continued using \ (backslash)
|
||
|
|
||
|
- System configuration information (SYSCONFIG) can now be specified
|
||
|
entirely within a workload file by quoting the newlines.
|
||
|
|
||
|
- Config values get enclosing double-quotes stripped
|
||
|
|
||
|
- Preliminary support for HTTP and WMAP (WebMail) testing.
|
||
|
|
||
|
- New table formats are easier to interpret and allow more protocols.
|
||
|
|
||
|
- The new text format report is easier to machine processes.
|
||
|
|
||
|
- The following command line switches are now obsolete: -f, -g, -e, -p,
|
||
|
and -l. The same functionality can be obtained by
|
||
|
FREQUENCY=<interval>, GNUPLOT=<path>, RSH=<path>, RCP=<path>, and
|
||
|
TEMPDIR=<directory> respectively.
|
||
|
|
||
|
- File backups are now created. When ./process is run multiple
|
||
|
times, the old files are moved to the ./tmp/<TIMESTAMP>/ directory.
|
||
|
|
||
|
- perl has been updated to include full perl5.005_03 install package.
|
||
|
Perl support for each architecture is now under the perl/ directory.
|
||
|
|
||
|
|
||
|
MailStone 4.1: Changes to since version 4.0
|
||
|
|
||
|
- threads are used on all platforms
|
||
|
reduces memory requirements by 10x for large numbers of clients
|
||
|
must run as root for maximum connections per process
|
||
|
|
||
|
- massive internal code and script cleanup / rewrite
|
||
|
performance improvements for socket handling (blocking)
|
||
|
and caching files and name lookups
|
||
|
|
||
|
- filename and path conventions restructuring
|
||
|
'/mailstone' hardwired path no longer required
|
||
|
mailstone/results/index.html (index of test runs)
|
||
|
mailstone/results/<datestamp>/stderr (look here for errors)
|
||
|
mailstone/results/<datestamp>/results.html
|
||
|
mailstone/results/<datestamp>/results.txt
|
||
|
mailstone/results/<datestamp>/work.wld (workload config used)
|
||
|
mailstone/results/<datestamp>/testbed.tbd (testbed used)
|
||
|
mailstone/results/<datestamp>/summary.csv (per client summary)
|
||
|
mailstone/results/<datestamp>/*.gif (graphs)
|
||
|
mailstone/tmp/<datestamp>/*.out (raw results from each client)
|
||
|
mailstone/conf/*.wld (workload file)
|
||
|
mailstone/conf/*.html (machine descriptions for reports)
|
||
|
mailstone/data/*.msg (sample test messages)
|
||
|
|
||
|
- periodic statistics reporting allows for trend analysis of
|
||
|
many variables per protocol.
|
||
|
sampling rate is automatically determined by mailmaster
|
||
|
Can now generate on-the-fly reports for above by running "process"
|
||
|
|
||
|
- The accountFormat directive is now obsolete.
|
||
|
Use loginFormat and addressFormat instead.
|
||
|
|
||
|
- The numAccounts and beginAccounts directives are now obsolete.
|
||
|
Use numLogins, firstLogin, numAddresses, and firstAddress instead.
|
||
|
|
||
|
- The sequentialLogins directive disables random account number selection.
|
||
|
This insures a predictable account sequence.
|
||
|
|
||
|
- The checkMailInterval directive for IMAP is now obsolete.
|
||
|
Use loopDelay instead.
|
||
|
|
||
|
- The directives idleTime, loopDelay, and numLoops now apply to all
|
||
|
protocols. See the manual for how loopDelay and numLoops are used
|
||
|
by each protocol.
|
||
|
|
||
|
- a command directive such as <SMTP> without HOSTS=xxx
|
||
|
will now apply to all clients in the testbed
|
||
|
|
||
|
- <include> directive for workload and testbed files (e.g. for user profile)
|
||
|
|
||
|
- workloads are now passed to 'mailclient' through stdin
|
||
|
no test specific files need to be copied to client machines
|
||
|
more synchonized test startup
|
||
|
|
||
|
- 'setup' script will copy mailclient and test messages (data/*.msg) to
|
||
|
each testbed machine in /var/tmp
|
||
|
|
||
|
- 'cleanup' form of setup will remove mailclient and test messages from
|
||
|
each testbed machine in /var/tmp
|
||
|
|
||
|
- 'checktime' form of setup will (nearly) simultaneously retrieve time from
|
||
|
each client. This lets you easily check for clock problems.
|
||
|
|
||
|
- 'timesync' form of setup will (nearly) simultaneously set time on
|
||
|
each client. This only works on OSs that support setting seconds
|
||
|
through the "date" command. rdate or ntpdate should be used if available.
|
||
|
You must be the root user and be able to rsh as root for timesync to work.
|
||
|
|
||
|
- Improved reports in text and html (formatting and content)
|
||
|
|
||
|
- The text version of the report is now only displayed automatically
|
||
|
if "-v" is given.
|
||
|
|
||
|
- Graphs with more than one protocol will also display a "Total" graph
|
||
|
|
||
|
- The graphs can now be customized for each test (see sample.wld for
|
||
|
the default)
|
||
|
|
||
|
- You can now add graphs (in addition to the default or configured
|
||
|
ones) by using "process timestamp -a conf/moregraph.wld".
|
||
|
|
||
|
- An informative index of test runs is now generated in results/index.html
|
||
|
|
||
|
- The index is updated while the run is in progress to make checking
|
||
|
for errors easier.
|
||
|
|
||
|
- The error log now displays times relative to test start.
|
||
|
|
||
|
- Memory use while processing results has been greatly reduced.
|
||
|
|
||
|
- A summary of the data from each process is now saved in a
|
||
|
Comma-separated-value (CSV) file. results/timestamp/clients.csv
|
||
|
|
||
|
- A summary of the data over time is now saved in a
|
||
|
Comma-separated-value (CSV) file. results/timestamp/protocol-time.csv
|
||
|
|
||
|
- new gnuplot binary included, can output directly to gif format
|
||
|
|
||
|
- read and write performance numbers now reported separately
|
||
|
|
||
|
- new runtime banners and copyrights (ooh boy)
|
||
|
|
||
|
- idleTime option for IMAP fixed, plus now applies to all commands
|
||
|
|
||
|
- blockTime now sets a delay between command blocks
|
||
|
|
||
|
- Process model is as follows
|
||
|
|
||
|
User runs the top-level 'mstone' script
|
||
|
This calls 'conf/testname.pl' with command line arguments
|
||
|
This calls 'mailmaster.pl' with config and command line arguments
|
||
|
mailmaster uses 'rsh' or equivalent to launch mailclients
|
||
|
mailclient runs on each testbed and forks numprocs
|
||
|
each proc spawns numthreads (one per client)
|
||
|
|
||
|
<run tests> (note: results are being sent continuously)
|
||
|
|
||
|
threads send results back through sockets to top mailclient
|
||
|
mailclient forwards results back over stdout via rsh pipe
|
||
|
(for future work - do some data reduction/combining here)
|
||
|
mailmaster directs output to each client-<hostname> file
|
||
|
mailmaster launches report generator
|
||
|
|
||
|
- sample LDIF fragment for a postmaster entry included
|
||
|
|
||
|
Future ideas:
|
||
|
|
||
|
- Data reduction at each testbed client
|
||
|
|
||
|
- test message generator (plain and MIME styles)
|
||
|
|
||
|
- IMAP (and other protocol) scripting
|
||
|
|
||
|
- Implementation of "throttle"
|
||
|
|
||
|
- More graphs for multiple runs
|
||
|
|
||
|
- Script a series of runs varying one parameter at a time
|
||
|
|
||
|
- More protocols (LDAP, disk, DNS, Calendar)
|
||
|
|
||
|
- Option to drop a fraction of connections
|