[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here HP TCP/IP Services for OpenVMS

HP TCP/IP Services for OpenVMS
Tuning and Troubleshooting


Previous Contents Index

1.2.10.4 Verifying Account Privileges

To determine the privileges associated with the service's account, run the OpenVMS Authorize utility and then use the SHOW command with the process name of the service, as follows:


A72KT: SET DEFAULT SYS$SYSTEM
A72KT: RUN AUTHORIZE
UAF> SHOW TCPIP$SNMP

Username: TCPIP$SNMP                       Owner:  TCPIP$SNMP
Account:  TCPIP                            UIC:    [3655,13] ([TCPIP$AUX,TCPIP$S
NMP])
CLI:      DCL                              Tables: DCLTABLES
Default:  SYS$SYSDEVICE:[TCPIP$SNMP]
LGICMD:   LOGIN
Flags:  Restricted
Primary days:   Mon Tue Wed Thu Fri
Secondary days:                     Sat Sun
Primary   000000000011111111112222  Secondary 000000000011111111112222
Day Hours 012345678901234567890123  Day Hours 012345678901234567890123
Network:  ##### Full access ######            ##### Full access ######
Batch:    -----  No access  ------            -----  No access  ------
Local:    -----  No access  ------            -----  No access  ------
Dialup:   -----  No access  ------            -----  No access  ------
Remote:   -----  No access  ------            -----  No access  ------
Expiration:            (none)    Pwdminimum:  6   Login Fails:     0
Pwdlifetime:         90 00:00    Pwdchange:      (pre-expired)
Last Login:            (none) (interactive),  7-AUG-2000 12:45 (non-interactive)
Maxjobs:         0  Fillm:        50  Bytlm:        52200
Maxacctjobs:     0  Shrfillm:      0  Pbytlm:           0
Maxdetach:       0  BIOlm:        18  JTquota:       4096
Prclm:           8  DIOlm:        18  WSdef:          350
Prio:            8  ASTlm:       100  WSquo:          512
Queprio:         4  TQElm:        15  WSextent:       512
CPU:        (none)  Enqlm:       100  Pgflquo:      10240
Authorized Privileges:
  NETMBX       TMPMBX
Default Privileges:
  NETMBX       TMPMBX

1.2.10.5 Looking for OPCOM Messages

The following is another method of detecting failure of the auxiliary server to start a service:

  1. Enter the following commands:


    $ SET PROCESS /PRIVILEGE=OPER        (1)
    $ SET AUDIT /ALARM /ENABLE=FAILURE   (2)
    $ REPLY/ENABLE=NETWORK               (3)
    
    1. Enables your process with operator privileges.
    2. Enables security auditing to log unsuccessful object attempts.
    3. Establishes your terminal as an operator's terminal.
  2. After you enter these commands, have a remote user try to connect to the service on the local system.
  3. Review any OPCOM messages for indications of the problem.

1.3 Using Online Help

TCP/IP Services provides online help for commands, utilities, and error messages.

For information about using TCP/IP management commands, enter the HELP command from the TCP/IP management control program.

For example, to display online help about using the sysconfig command, enter the following commands:


$ TCPIP
TCPIP> HELP SYSCONFIG

For information about TCP/IP user commands, enter the HELP command at the DCL prompt. For example, to display online help about the FTP command, enter the following command:


$ HELP FTP

Some user applications provide additional information from the user interface. For example:


$ FTP
FTP> HELP

Commands for obtaining online information from the application user interface are application specific. Refer to the description of the application in the HP TCP/IP Services for OpenVMS User's Guide for specific instructions.

To display information about a TCP/IP error message, enter the HELP/MESSAGE command, followed by the error message name. For example, if you receive the FTP_CONHST error when you try to establish an FTP connection, enter the following command to get information about how to respond to the error:


$ HELP/MESSAGE FTP_CONHST

 FTP_CONHST,  error connecting to remote host 'host'

  Facility:     TCPIP, FTP Server

  Explanation:  An error occurred in the FTP client. A network error occurred
                or the network is not active.

  User Action:  Make sure network communication is active on the system.

1.4 Using OpenVMS ANALYZE Extensions

TCP/IP Services provides extensions to the OpenVMS DCL command ANALYZE, allowing you to analyze TCP/IP operations on the system. To obtain information about using the TCP/IP extensions to the SDA interface, enter the following commands:


$ ANALYZE/SYSTEM
SDA> TCPIP HELP


Chapter 2
Tuning Techniques

This chapter describes how to change system operation to solve specific networking problems. Once you have diagnosed the cause of the problem, as described in Chapter 1, use the information in this chapter to solve the problem.

The tuning techniques described in this chapter include:

  • Modifying subsystem attributes ( Section 2.1)
  • Tuning server applications ( Section 2.2)
  • Solving server performance problems (solv_perf_probs))

2.1 Subsystem Attributes

TCP/IP Services supports UNIX subsystems and allows you to modify the attributes of those subsystems to change the way the TCP/IP Services software operates.

Subsystem configuration is provided for compatibility with UNIX systems. HP strongly advises you not to modify the attributes associated with subsystems except when the adjustment of an attribute is indicated (for example, to improve performance). In most cases, corresponding TCP/IP management commands are provided to help limit the side effects of modifying subsystem attributes.

The following sections describe how to display and modify the settings of the subsystem attributes. Modifying subsystem attributes without full knowledge of possible effects can cause unpredictable results and is recommended only as specifically directed by HP.

2.1.1 Displaying Subsystems and Attributes

To display all the kernel subsystems and their status on the system, enter the following commands:


$ TCPIP
TCPIP> sysconfig -s
cm: loaded and configured
inet: loaded and configured
iptunnel: loaded and configured
ipv6: loaded and configured
net: loaded and configured
snmpinfo: loaded and configured
socket: loaded and configured
inetkvci: loaded and configured
proxy: loaded and configured
nfs: loaded and configured
vfs: loaded and configured
TCPIP>

Note

Depending on the configuration of your system, the list of subsystems displayed may differ from this example.

2.1.1.1 Static and Dynamic Subsystems

There are two types of subsystems:

  • Static subsystems are loaded at startup time and can be unloaded only when TCP/IP shuts down.
  • Dynamic subsystems can be loaded and unloaded at will without shutting down and restarting TCP/IP Services.

You can use the sysconfig -m command to display static and dynamic subsystems, as follows:


$ TCPIP
TCPIP> sysconfig -m
cm: static
inet: static
iptunnel: static
ipv6: static
net: static
snmpinfo: static
socket: static
inetkvci: static
proxy: static
nfs: static
vfs: static

Subsystems can be loaded but not available for use. Subsystems can have the following states:

  • Loaded and configured (available for use)
  • Loaded and unconfigured (not available for use)
    This state applies only to static subsystems, which you can unconfigure, but you cannot unload.
  • Unloaded (not available for use)
    This state applies only to loadable subsystems, which are automatically unloaded when you unconfigure them.

2.1.1.2 Displaying the Attribute Values for a Subsystem

Each subsystem contains a set of attributes with associated values.

To display the attributes of a particular subsystem, include the -q option and the name of the subsystem. For example, to display the attributes of the socket subsystem, enter the following command:


TCPIP> sysconfig -q socket
socket:
sbcompress_threshold = 0
sb_max = 1048576
sobacklog_drops = 0
sobacklog_hiwat = 1
soinp_reuse = 1
somaxconn = 1024
somaxconn_drops = 0
sominconn = 1
TCPIP>

Subsystem attributes are specific to OpenVMS. Some UNIX attributes area not supported on OpenVMS systems.

To determine whether an attribute is supported, use the -q option and specify both the subsystem and the attribute.

If the subsystem is not configured, sysconfig displays a message similar to the following:


TCPIP> sysconfig -q inet tcbhashsize
framework error: subsystem 'inet' not found

To display the maximum and minimum values for attributes, include the -Q option and specify both the subsystem and the attribute. If you do not specify an attribute, the system displays all the attributes for the specified subsystem.

Note

On OpenVMS, you must enclose any uppercase options in quotation marks.

For example, to display the minimum and maximum values for the rexmtmax attribute in the inet subsystem, enter the following command:


TCPIP> sysconfig "-Q" inet tcp_rexmtmax
inet:
tcp_rexmtmax -  type=INT op=CRQ min_val=1 max_val=2147483647
TCPIP>

The sysconfig "-Q" command also displays the op code, which can consist of one or more of the following:

  • C, which indicates that the attribute can be configured
  • R, which indicates that the attribute can be reconfigured
  • Q, which indicates that the attribute can be queried

2.1.2 Modifying Subsystem Attribute Values

You can modify the values of subsystem attributes either temporarily or permanently.

If you change the value of a subsystem attribute at run time, the change will persist only as long as the system continues to run. When you reboot the system, the attribute value reverts to the previous setting.

For temporary modifications that will not persist across reboots, use the sysconfig -r command as described in Section 2.1.2.1.

To modify an attribute value permanently, include the attribute in the system configuration table, sysconfigtab . Values specified in sysconfigtab are preserved through system reboots. To include an attribute in the sysconfigtab file, use the sysconfigdb utility, as described in Section 2.1.3.

Note

Always use the recommended utility to modify subsystem attributes. Do not modify the sysconfigtab file directly.

2.1.2.1 Reconfiguring Attributes

You can reconfigure an attribute (that is, modify its value temporarily), using the sysconfig command, if the attribute is reconfigurable (the op code includes R). This allows you to determine whether modifying an attribute will improve your system performance. Temporary modifications are lost when you reboot the system.

To temporarily modify an attribute's current value, use the sysconfig command with the -r option. Specify both the subsystem and the attribute on the command line:

For example, to modify the tcp_keepinit value to be 30 temporarily, enter the following command:


TCPIP> sysconfig -r inet tcp_keepinit=30
tcp_keepinit: reconfigured
TCPIP>

After modifying the attribute value, you must either reload the subsystem or restart TCP/IP Services, depending on whether the attribute is part of a dynamic subsystem or a static subsystem.

  • Unload the dynamic subsystem using the sysconfig -u command. Then use the sysconfig -r command to reload the subsystem.
  • Reload static subsystems by stopping and restarting TCP/IP Services.

2.1.3 Configuring Attributes

You can configure an attribute (that is, modify subsystem attributes so that changes persist across reboots), by storing the attribute and its value in the system configuration table (TCPIP$ETC:SYSCONFIGTAB.DAT), if the attribute's op code includes C.

When a subsystem is loaded, the attributes that are not listed in the SYSCONFIGTAB.DAT file are set to their default values.

To modify subsystem attributes in the SYSCONFIGTAB.DAT file, follow these steps:

  1. Use the sysconfigdb utility to update the system configuration table, as described in Section 2.1.3.1.
  2. Reload the subsystem. A dynamic subsystem can be unloaded and reloaded using the sysconfig utility. A static subsystem is reloaded when the TCP/IP Services software is restarted.

2.1.3.1 Format of the SYSCONFIGTAB File

The TCPIP$ETC:SYSCONFIGTAB.DAT file is an ASCII text file in stanza file format. Do not edit the sysconfigtab file directly. Always use the recommended commands to modify attribute values in the sysconfigtab file.

An entry in the sysconfigtab file is formatted as follows:


subsystem1:
        parameter1=value1
        parameter1=value2
subsystem2:
        parameter1=value1
        parameter1=value2

To modify a subsystem attribute permanently, create a stanza-formatted file in your own directory. In the following example, the stanza file is named SOCKET_ATTRS.TXT.


$ TYPE SOCKET_ATTRS.TXT

socket:
         socket_param1 = socket_value1
$

After you create the stanza file, update the system configuration table using the sysconfigdb utility.

To run the sysconfigdb utility, enter the following commands:


$ TCPIP
TCPIP> sysconfigdb

To update the system configuration table, use the sysconfigdb command with the -u option. Specify the stanza file on the command line using the -f option. The following is the format of the sysconfigdb command:


TCPIP> sysconfigdb -u -f stanza-filename subsystem

In this command line, stanza-filename is the file name of the stanza file that you created. The value for subsystem is the subsystem name for which you are changing an attribute.

The sysconfigdb command reads the specified file and updates the sysconfigtab file. The modifications are made to the subsystem when it is reloaded.

For example, the following stanza file (TABLE_MGR.STANZA) defines the attributes for two subsystems, TABLE_MGR_1 and TBL_MGR_2.


$ TYPE TABLE_MGR.STANZA

table_mgr_1:
            size = 10
            name = Ten-Element-Table
tbl_mgr_2:
            size = 5
            name = Five-Element-Table

$

To add the contents of this stanza file to the system configuration table, enter the following commands:


$ TCPIP
TCPIP> sysconfigdb -a -f table_mgr.stanza table_mgr_1

TCPIP> sysconfigdb -a -f table_mgr.stanza tbl_mgr_2

This example does not change the value of attributes on the running system. For information about changing attribute values on the running system, see Section 2.1.2.1.

For complete information about using the sysconfigdb command, refer to Appendix A.

2.1.3.2 Stanza File Format

The syntax for a stanza file entry is as follows:


entry-name:
       Attribute1-name = Attribute1-value
       Attribute2-name = Attribute2-value
       Attribute3-name = Attribute3-value1, Attribute3-value2
       .
       .
       .

The entry-name variable specifies the subsystem name.

The attributes for the subsystem are specified with the Attribute1-name, Attribute2-name, and Attribute3-name variables.

The values for the attributes are specified with the Attribute1-value, Attribute2-value, Attribute3-value1, and Attribute3-value2 variables.

The stanza file syntax rules are as follows:

  • Separate entries by one or more blank lines.
  • A colon (:) terminates an entry name.
  • A new line terminates an attribute name and value pair.
  • Separate a attribute name and attribute value with an equals sign (=).
  • Separate more than one attribute value with a comma (,).
  • Entry names and attribute names can contain any printable character except spaces, new lines, and special characters, which must be specified appropriately.
  • Entry attribute values can contain any printable character except new lines and special characters, which must be specified appropriately.
  • Spaces and tabs are allowed at the beginning and at the end of lines.
  • A pound sign (#) at the beginning of a line indicates a comment.
  • Comments should be included only at the beginning or the end of an entry.

Several special quoting characters allow attribute values to contain special values and data representations. If you specify a quoting character, surround the attribute value with quotation marks. For example, to specify an octal value, use the backslash character:


\007

2.1.4 Modifying Kernel Subsystems

Most resources used by the network subsystem are allocated and adjusted dynamically. However, you can make some adjustments to improve performance.

Table 2-1 summarizes the adjustments you can make, lists performance benefits and the adjustments that will achieve them, along with the tradeoffs (where applicable) associated with each adjustment.

Table 2-1 Network Tuning Guidelines
Performance Benefit Tuning Adjustment Tradeoff
Reduce the number of dropped incoming connection requests. Increase the maximum number of pending TCP connections (Section 2.1.5.1). Consumes memory resources.
Allow each server socket to handle more SYN packets simultaneously. Increase the minimum number of pending TCP connections (Section 2.1.5.2). Consumes memory resources.
Allow for a larger socket buffer. Increase the maximum socket buffer size (Section 2.1.5.3). Consumes memory. If you have a large number of sockets, memory consumption could be of concern.
Improve the TCP control block lookup rate and increase the raw connection rate. Increase the size of the hash table that the kernel uses to look up TCP control blocks (Section 2.1.6.1). Slightly increases the amount of pooled memory.
Reduce hash table lock contention for SMP systems. Increase the number of TCP hash tables (Section 2.1.6.2). Slightly increases the amount of pooled memory.
Improve performance on systems that use large numbers of interface alias. Increase the size of the kernel interface alias table (Section 2.1.6.3). None.
Allow partial connections to time out sooner, preventing the socket listen queue from filling up with SYN packets. Increase the TCP partial connection timeout rate (Section 2.1.6.4). Setting the tcp_keepinit value too low can cause connections to be broken prematurely.
Prevent premature retransmissions and decrease congestion. Reduce the TCP retransmission rate (Section 2.1.6.5). A long retransmit time is not appropriate for all configurations.
Clean up sockets that do not exit cleanly when the keepalive interval expires. Enable TCP keepalive functionality (Section 2.1.6.6). None.
Free connection resources sooner. Make the TCP connection context time out more quickly at the end of the connection (Section 2.1.6.7). Reducing the timeout limit increases the potential for data corruption; use caution if you make this adjustment.
Provide TCP and UDP applications with a specific range of ports. Modify the range of outgoing connection ports (Section 2.1.6.9). None.
Improve the efficiency of servers that handle remote traffic from many clients. Disable the use of a PMTU (Section 2.1.6.10). May reduce server efficiency for LAN traffic.
Allow large socket buffer sizes. Increase the maximum size of a socket buffer (Section 2.1.5.3). Consumes memory resources.
Improve handling of a large number of BG devices. Enable fast device creation and deletion (Section 2.2.4). Consumes memory resources.

The following sections describe in detail how to modify socket and inet subsystem attributes.


Previous Next Contents Index