Previous | 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 directories
2 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 |