Previous | Next | Contents | Index |
The most common bottleneck in PMDF is disk I/O. PMDF does a lot of it. Try to keep the disks with PMDF's message store below 66% capacity so that the operating system can efficiently manage file create and delete cycles. This is especially important on OpenVMS where the file system begins to become very inefficient once the disk gets over 66% capacity. Also, use disk striping or other aggregate disk spindle techniques that help both read and writes. Avoid disk shadowing if possible. Disk is cheap these days: spend money on multiple spindles and sufficient free space.
By using symbolic links under the /pmdf
directory (UNIX),
by redefining the PMDF_QUEUE and PMDF_LOG logicals (OpenVMS), or by
redefining the PMDF_QUEUE and PMDF_LOG registry entries (Windows) you
can redirect where PMDF keeps its message store and log files. PMDF's
command, executable, and table directories2 can also be
separated if absolutely necessary.
The location for PMDF temporary files can also be moved. PMDF_SCRATCH
controls the location of temporary unnamed files (such as those used to
buffer incoming large SMTP messages or incoming large messages
submitted by local users); PMDF_TMP controls the location of temporary
named files (such as those used by the conversion channel). On UNIX,
both values default to /pmdf/tmp
if not explicitly pointed
elsewhere in the PMDF tailor file. Similarly on Windows, both values
default to C:\pmdf\tmp
if not explicitly pointed elsewhere
by in the Windows registry. On OpenVMS, if PMDF_SCRATCH and PMDF_TMP
logicals are not defined then temporary unnamed files default to
SYS$SCRATCH (next SYS$DISK, next SYS$LOGIN) and temporary named files
default to PMDF_QUEUE:[000000]
. Note that if explicitly
defining PMDF_SCRATCH it is important to point it to a device on which
any user can create files.
On OpenVMS only, the location for files usually put into PMDF_TMP can
be broken up. If the logical name PMDF_IMAP_TMP is defined, then the
legacy IMAP server will put its temporary files in the directory named
by that logical, rather than in PMDF_TMP. If the logical name
PMDF_SPEC_TMP is defined, then channels who create special temporary
files (such as the conversion
, script
, and
pipe
channels) will put their temporary files in the
directory named by that logical rather than in PMDF_TMP.
By default, the messages for a given channel are stored in a single,
channel-specific directory under PMDF_QUEUE:
(OpenVMS) or
/pmdf/queue/
(UNIX) or usually C:\pmdf\queue\
(Windows). File system performance degrades rapidly for directories
with more than a couple thousand files; this can present a problem for
channels which see heavy message traffic --- especially when the
network associated with that channel is down and messages begin to
queue up. Use the subdirs
channel keyword to indicate that
a channel should uniformly spread its messages across several
subdirectories. For Internet sites with heavy traffic loads, this
should be done for their outgoing TCP/IP channel, usually tcp_local.
By changing the PMDF_QUEUE_CACHE_DATABASE logical (OpenVMS only), you can move the queue cache database to an alternate location. After moving it, be sure to issue the OpenVMS commands
$ PMDF CACHE/CLOSE $ PMDF CACHE/SYNCH |
It is safe to keep the queue cache database on a virtual RAM disk provided that:
pmdf_startup.com
procedure (on OpenVMS) and before
starting your networks or PMDF processing queues.
High volume sites that have enabled the logging
channel
keyword to log message traffic, as well as the LOG_CONNECTION PMDF
option to log connections, can want to enable the
SEPARATE_CONNECTION_LOG option to direct the connection log entries to
a separate file from the message traffic log entries; see
Section 7.3.6. On OpenVMS, busy sites that have enabled the
logging
keyword
can also find it beneficial to increase the LOG_ALQ and LOG_DEQ
options, also discussed in Section 7.3.6, to use larger file extents
for the underlying file allocation.
UNIX and Windows sites can consider whether for their use it is acceptable to set the PMDF option FSYNC=0. Doing so improves performance, but at the cost that if a UNIX or Windows system crashes at just the wrong moment, messages not yet synched to disk could be lost. See Section 7.3.8.
2 On OpenVMS, these are
|
Previous | Next | Contents | Index |