Chapter 6 - Communication Resources Statistics
This chapter describes the communication resources configuration information and statistics that you can obtain through VNSM.
Communication resources configuration information includes the total communications buffer space and number of sockets configured for the VINES server. The communication resources statistics show how the buffer space and sockets are being used.
Use the information in this chapter and the information in Chapter 15 to optimize the communication performance. Your planning documentation also provides information on optimizing communication performance.
Displaying Configuration Information and Statistics
To display communication configuration information and statistics, perform the following steps:
1. Select SHOW communications statistics from the VINES VINES Network Summary menu. This action displays the Communication Statistics menu.
2. Select SHOW resource usage from the Communication Statistics menu. The Resource Usage screen appears, as follows.
The communications configuration information and statistics that this screen displays are described in the sections that follow.
Note: In the sections that follow, the term message refers to data link layer, network layer, and transport layer units of data. Message will be used to refer to any unit of data that comes into or goes out of the server, regardless of whether the data originates from or is destined for the server, or if the server is simply forwarding data that originated from and is destined for other servers.
Total Communications Buffer Size
The amount (in kilobytes) of server memory used for network communications. You can set the total communications buffer size from the server console. See Chapter 15 for more information.
The total communications buffer size on a server provides a memory pool that is used for the following types of communications:
VINES communications (Routing, Client-to-Server, and Server-to-Server) TCP/IP communications AppleTalk communications Server-to-Host communications (3270/SNA, Asynchronous Terminal Emulation)
The percentage of the total communications buffer size currently in use.
Each message coming into or going out of the server results in buffer usage. The server allocates part of the total communications buffer size to process each message. As soon as the server processes the message, it releases the allocated memory, which becomes available for another message. Since all messages are not the same size, the space that is allocated and released varies in size.
The total communications buffer size should be large enough to handle standard and peak load conditions. Buffer use grows and shrinks as users place demands on the server.
Certain conditions, such as LAN noise or heavy traffic, can make buffer use jump quickly into the 90 percent range or higher. Communications buffers that are requested, but cannot be allocated, result in drops. Chapter 3 provides more information on Drops.
Note: Buffer use reflects network traffic activity only. It does not indicate anything about processor loading.
Communications buffer use between 20 percent and 35 percent is typical of a server that is fully loaded and very busy, but healthy.
If communications buffer use is 50 percent or more, the server may not be able to handle peak loads or transient network errors without causing drops and performance degradation. You must determine if the high buffer use results from network-level errors, or from general loading. To check for network-level errors, use the interface details for the particular LAN or HDLC, asynchronous, or X.25 line.
If a faulty LAN causes high buffer use, fixing the LAN is the only way to reduce usage. General loading can be reduced by:
Minimizing the number of users. For example, if a server maintains the StreetTalk names of a large number of users and you notice that buffer use is high around 8:30 a.m. (the time at which most users log in), you could move the names of the users to another server. Moving services to other servers. Increasing the total communications buffer size. This can be done from the server console. See Chapter 15 for more information.
The percentage of the communication buffer used at any given time depends on the following factors:
Number of messages that services send and receive. Amount of traffic that the server routes (if the server is a router). Number of open sockets. All services communicate with clients and other services through calls to a socket interface. A socket is an object that manages the flow of data between the application and a protocol entity, such as the Interprocess Communications Protocol (IPC), Sequenced Packet Protocol (SPP) and Sequenced Packet Exchange (SPX) protocol entities. Use of SPP connections. SPP connections provide two-way data pipes for sessions between some services and clients. Excessive SPP connection use has the potential to consume a large portion of the communication buffer. Communication over serial lines. Size of routing tables. Number of concurrent AppleTalk Session Protocol (ASP) and Printer Access Protocol (PAP) connections. Number of Transmission Control Protocol (TCP) connections. The SMTP service and third-party applications use TCP.
The effect of SPP connections, sockets, serial lines, and AppleTalk on communication buffer use are subtle and complex. They are described in more detail in the section "Factors That Influence Communications Buffer Use" later in this chapter.
Allocate Failures
A cumulative total of the buffers that could not be allocated since the server was last booted. Daily growth of this value indicates that the buffer use is too high consistently. The server allocates buffers each time a LAN card indicates it has a new message for the server, or when a service wants to send data to a user.
Allocate failures should not increase by more than 200 per 100,000 messages sent and received. You calculate total messages sent and received by adding the Msgin and Msgout statistics, which appear on the VINES Network Summary menu. See Chapter 3 for a description of these statistics.
Sockets in Use
The percentage of the configured maximum number of concurrent sockets currently in use.
Max Open Sockets
The maximum number of open sockets that have been in use. A socket is an object that manages the flow of control and data between the application layer and a communications protocol layer, usually the transport layer, during process-to-process communications.
When an application process is using a socket to communicate with another process, the socket is open. Otherwise, it is closed.
Configured Sockets
The maximum number of sockets that can be open at one time. This value is set from the server console. See Chapter 15 for more information.
Factors That Influence Communications Buffer Use
This section describes the factors that significantly influence communications buffer use. These factors are as follows:
SPP connections Open sockets Serial lines AppleTalk Routing tables
These factors are described in the sections that follow.
Each SPP connection requires 100 bytes of memory. This memory does not include the size of messages transmitted on the connection. By default, each server supports a pool of 3000 SPP connections. This pool sets an upper limit on the number of SPP connections that the server can handle at a given time. The services that share this pool to communicate with their clients are as follows:
3270/SNA - Each active LU session requires an SPP connection to the client.
Asynchronous Terminal Emulation - Each active host session requires an SPP connection to the client.
VINES File - An SPP connection is established each time a user issues SETDRIVE to set a drive to a VINES file volume. The SPP connections are terminated when the user logs out.
Keep in mind that SETDRIVE commands in the user profile do not establish SPP connections for sessions with the file service. This improves login performance. For a drive that is set from the user profile, an SPP connection is established when the user performs an action on the drive, such as a read, write, CD, DIR, etc. Although a user may have many drives set from the user's profile, SPP connections for sessions with the specified file service may not be established while the user is logged in to the network.
SPP file service connections can terminate for a number of reasons, such as timeouts caused by network problems or a user logging out.
STDA - The STDA service uses an SPP connection for a session with the STDA client.
Print - Each invocation of PCPRINT establishes an SPP connection to the specified print service.
Security - When a user logs in, the service establishes an SPP connection with the login client to deliver profile information. The connection terminates as soon as the delivery is complete.
Third-party - Third-party services can also use SPP connections.
For more information on how services use SPP connections, see Chapter 7. For more information on total SPP connection use for the server, see Chapter 10.
Each SPP connection requires 100 bytes of communication buffer space for connection record information and other resources. Excessive SPP connection use can consume a significant portion of the communication buffer space. For example, suppose that a server must concurrently support 80 LU sessions, 40 ATE host sessions, 180 file service sessions, 70 STDA sessions, and have enough SPP connections left to support delivery of profile information when users log in. This means that the server must support at least 370 concurrent SPP connections. In this case, SPP connections consume up to 40 KB of the communication buffer.
Excessive SPP connection use can also result in a significant increase in communication buffer use due to acknowledgment delays. A group of messages that are transmitted on an SPP connection must be acknowledged before another group can be sent. The number of messages in the group depends on the window size for the connection. If network congestion exists at any point in the network between the client and service, messages accumulate in the communication buffer waiting for those transmitted previously to be acknowledged. This can result in COM162 errors.
Note that each reliable IPC message must wait for the acknowledgment of a message transmitted before it. These messages can also accumulate in the communication buffer if network congestion problems arise.
Each open socket consumes 80 bytes of communication buffer. The ways in which services use sockets are summarized below:
Most services use one socket to handle all IPC and SPP client connections. For example, an ATE service uses one socket to handle all SPP connections to clients. 3270/SNA and ATE services use one socket per serial line. The ATE service uses one socket per X.25 virtual circuit for X.29 sessions.
By default, each server supports a pool of 3000 sockets. This pool sets an upper limit on the number of open sockets that the server can have at a given time. You should increase the default number of concurrent open sockets in extreme cases only.
Serial lines can cause a server to become a bottleneck in the network. When this happens, the server retains an excessive number of messages in the communication buffer. These messages are waiting to be transmitted.
A bottleneck can occur in the following situations:
Servers route messages from LANs to slow-speed serial lines. Servers accept messages from LANs faster than from serial lines. This causes messages to "back up" in the communication buffer while waiting to be transmitted over the serial lines. Communication buffer size may have to be increased in this situation. In worst-case situations, as much as 33 KB of data may back up in the communication buffer while waiting for transmission over an HDLC server-to-server line or an asynchronous server-to-server line. The 33 KB figure indicates extremely severe network congestion problems. For an X.25 virtual circuit, as much as 45 KB of data may back up in the buffer while waiting for transmission. The 45 KB figure indicates extremely severe network congestion problems. Clients establish SPP or reliable IPC connections for sessions with services over serial lines. These serial lines can cause a delay in acknowledging transmitted messages, resulting in messages accumulating in the communication buffer. Communication buffer size may have to be increased in this situation.
Figure 6-2 shows four SPP connections to an STDA service over a slow-speed serial line. This situation might create a bottleneck on both servers.
ASP and PAP connections can place significant communication buffer requirements on a server. ASP and PAP require acknowledgments for packets, which in turn requires the server to retain copies of these packets in the communications buffer until the acknowledgment takes place. If the server runs AppleTalk, monitor communications buffer use closely and increase the communications buffer size if necessary.
The amount of communication buffer space consumed by VINES, TCP/IP, and AppleTalk routing tables is not significant in most cases. Even in most large networks, the communication buffer requirements of routing tables should not, by themselves, require you to modify the default buffer size on the server.
In extreme cases, such as when thousands of servers and VINES workstations are neighbors of one another, VINES routing table consumption can become significant. In this case, consider increasing the communications buffer size at the server