| 
| 
OS/2 LAN Man Named Pipe Technical and Performance Info
ID: Q61652
 
 |  The information in this article applies to:
 
 
Microsoft LAN Manager, versions  2.0, 2.1, 2.1a, 2.2
 
 
 SUMMARY
Listed below are questions and answers involving technical and
performance information pertaining to OS/2 LAN Manager versions 2.0,
2.1, 2.1a, and 2.2.
 Note: Remember that future implementations may change.
 
 MORE INFORMATIONQ. What is the mapping between named pipes in OS/2 LAN Manager
      on a network, and connection oriented services in the NetBIOS
      and underlying protocol layer?
 A. All of the OS/2 LAN Manager services (including named pipes) are
      provided by using a ring 0 NetBIOS interface. Please note that
      the ring 3 NetBIOS interface is provided by OS/2 LAN Manager.
 
 Q. If you have a single named pipe, how many connections can you
      have to it across the network? Can multiple client machines
      share the same named pipe on one server?
 A. A single instance of a named pipe can hold one client. However,
      you can make numerous instances of the same pipe name, to which
      you can connect an equal number of clients. The maximum number
      of instances that can be obtained from a named pipe is
      determined by the first DosMakeNmPipe() call (a value of 0xFF
      means unlimited).
 
 Please note that the system will most likely run out of
      resources (memory) if you attempt to make more pipes than it can
      handle. Also, depending on the implementation, various server
      settings may increase net performance if your server is intended
      to provide pipe I/O to many instances.
 
 Q. If you are using multiple instances of a named pipe on the OS/2
      server to connect to multiple MS-DOS clients, does each instance of
      the named pipe use a connection in the NetBIOS? Or does OS/2 LAN
      Manager handle multiplexing/demultiplexing of data through one
      NetBIOS connection?
 A. The OS/2 LAN Manager server requires one NetBIOS session for
      each unique client (VC). If you have four workstations, each
      with two pipes open to one server, the server requires four
      NetBIOS sessions (one for each workstation). All workstation I/O
      (named pipes, redirected file/print I/O, and so on.) is multiplexed
      on one session.
 
 Q. If you are running applications on an OS/2 server using named
      pipes to MS-DOS clients, and also running applications on an
      OS/2 server and other MS-DOS clients using NetBIOS, what
      resources are used in NetBIOS and the underlying protocol
      layers? For example, if an application is accessing NetBIOS
      directly, how will it affect OS/2 LAN Manager's ability to use
      named pipes?
 A. If you use up all of the NetBIOS resources from underneath the
      MS-DOS redirector, it stops functioning until the application
      releases some of the resources. The OS/2 redirector controls
      how many network control blocks (NCBs) can be submitted from
      application processes. There are settings in LANMAN.INI that
      control how many resources must be guaranteed.
 
 Taking NCBs away from OS/2 LAN Manager merely lowers the amount
      of concurrent net activity that can be performed. This should
      not be a problem unless you have an NCB- or LSN-hungry
      application, or are stressing your OS/2 LAN Manager
      workstation/server. If this is the case, the LANMAN.INI and
      PROTOCOL.INI values should be set to provide OS/2 LAN Manager
      with the required number of resources to satisfy the demand.
 
 Q. Is there a way to determine the number of free connections left
      or available?
 A. Yes, this can be done by using the NETBIOS STATUS (33H {wait} / 
      B3H {return} NCB. Please refer to the "IBM Local Area Network
      Technical Reference" manual, or "Inside NetBIOS" by Haugdahl for
      more information.
 
 What kinds of resources (that is, threads, locked in memory, and so
   on) does OS/2 LAN Manager use when a connection is made to a named
   pipe from across the network?
   Connection      Resources
   ----------      ---------
   Workstation     The same resources that are used by any other
                   remote file handle.
   Server          The same resources that are used by any other
                   remote file handle, plus the overhead for a local
                   pipe (remote named pipe overhead is the same as if
                   it was a local named pipe on the server). 
 
 Q. What are the advantages of using message stream pipes as opposed
      to byte stream pipes? For example, when transferring 4K messages
      between the client and server over Ethernet, what are the
      performance and resource penalties of using message streams,
      instead of a byte stream?
 A. Message stream pipes are slightly slower than byte stream pipes.
      The performance between message-mode and character-mode named
      pipes will not differ drastically unless you take advantage of
      DosTransactNmPipe(), or are using small stream I/O. If this is
      the case, the difference between the message or byte mode
      performance is apparent.
 
 Q. Does using a message stream to keep the message from being
      fragmented incur any additional memory or performance penalties
      as opposed to using byte stream named pipes?
 A. There is an overhead of a couple of bytes per write done into
      the pipe to keep track of the message size.
 
 Please note that the extra bytes typically do not make a
      difference in performance. The best way to increase performance
      is to cut down the number of packets that hit the wire: reading
      100 bytes is much faster than reading ten 10-byte packets from a
      file).
 
 Additional query words: 
2.00 2.0 2.10 2.1 2.10a 2.1a 2.20 2.2  
Keywords          : kbnetwork Version           : :2.0,2.1,2.1a,2.2
 Platform          :
 Issue type        :
 |