PMDF System Manager's Guide


Previous Next Contents Index

8.1 Compiling the Configuration

PMDF contains a utility, cnbuild, to compile the configuration, option, mapping, conversion, alias, security, and system wide filter configuration files into a single shareable image (on OpenVMS) or a single image in shared memory (on UNIX) or a dynamic link library (on Windows). The main reason for compiling configuration information is simple: performance. 1 Another feature of using a compiled configuration is that you can test configuration changes more conveniently, since the configuration files themselves are not "live" when a compiled configuration is in use.

Whenever a component of PMDF (e.g., a channel program) must read the configuration file it first checks to see if a compiled configuration exists. If it does, the image is merged into the running program (on OpenVMS) or attached to by the running program (on UNIX or Windows). 2 If the attempt to load the compiled configuration fails for any reason, PMDF falls back on the old method of reading the text files instead.

Note

The only penalty paid for compilation is the need to rebuild and, on OpenVMS systems, reinstall the image every time the configuration, option, mapping, conversion, alias, or security configuration files are edited.

On OpenVMS systems, the image file is referenced with the PMDF_CONFIG_DATA logical. This logical translates to PMDF_EXE:CONFIG_DATA.EXE; PMDF_EXE itself is a logical which translates to PMDF_ROOT:[xxx_EXE] depending upon the architecture (VAX, Alpha, or IA64). The image file can be installed with the standard OpenVMS INSTALL utility.

On UNIX systems, the name of the image file is specified with the PMDF_CONFIG_DATA option in the PMDF tailor file. By default, this is the file /pmdf/lib/config_data.

On Windows systems, the name of the image file is specified with the PMDF_CONFIG_DATA PMDF Tailor Registry entry. Usually this is the file C:\pmdf\lib\config_data.

Note

As always when there is a change to the PMDF configuration, resident PMDF processes (such as the multithreaded SMTP server) should be restarted with the pmdf restart command.

Note

1 A test on a µVAX II system showed that reading a fairly complex configuration and alias file took about 6 seconds of CPU time. By contrast, initialization of PMDF took about 1 second of CPU time when the data was precompiled as a shareable image.

2 There are two exceptions to this rule. The first is the pmdf cnbuild utility itself, which for obvious reasons always reads the text files and never tries to load the image form of the configuration data. The other exception is the pmdf test utility, which may be instructed to ignore any compiled image with the /NOIMAGE_FILE (OpenVMS) or -noimage_file (UNIX or Windows) qualifier, which is useful for testing changes prior to compiling them.


Previous Next Contents Index