home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 14 Text / 14-Text.zip / l40prftx.zip / L40PRFWP.TXT
Text File  |  1995-03-09  |  49KB  |  934 lines

  1.  
  2.  
  3.  
  4.  
  5.                           IBM* LAN SERVER 4.0 WHITE PAPER
  6.  
  7.                   PERFORMANCE, CAPACITY ENHANCEMENTS, & TUNING TIPS
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                         IBM LAN SYSTEMS PERFORMANCE ANALYSIS
  15.                                    DEPARTMENT 55LS
  16.                                     AUSTIN, TEXAS
  17.                                      MARCH 1995
  18.                                       (Revised)
  19.  
  20.  
  21. ____________________
  22. Contents
  23.  
  24.                                                             Page #
  25.  
  26.        Introduction                                            1
  27.  
  28.        LAN Server 4.0 Performance Tuning Assistant             2
  29.              Introduction to the Tuning Assistant              2
  30.              HPFS 386 Cache Size Calculation                   3
  31.              Examples of Key Parameter Calculations            5
  32.              Using Tuning Assistant in "What if" Mode          8
  33.  
  34.        LAN Server 4.0 Configuration Defaults                  10
  35.  
  36.        DOS LAN Services Client Performance Considerations     12
  37.  
  38.        LAN Server 4.0 Capacity Enhancements                   13
  39.  
  40.        LAN Server 4.0 Support of SMP                          14
  41.  
  42.        NetBIOS over TCP/IP                                    15
  43.              Design Considerations                            15
  44.              Enhancements                                     15
  45.              Performance Characteristics                      17
  46.              Tuning TCP/IP                                    18
  47.              Recommendation: Dual Protocol Stacks             18
  48.  
  49.        Additional Useful Information                          19
  50.              Reducing NetBios Broadcast Frames                19
  51.              DCDB Replication Performance                     19
  52.              Upgrading from LAN Server 3.0                    19
  53.              Considerations when RAW SMBs are disabled        20
  54.              DOS TCP/IP                                       20
  55.              Configuring DLS with Windows for Workgroups      20
  56.  
  57.        Additional Tips for LAN Server 4.0 Performance         22
  58.              Entry vs. Advanced Server                        22
  59.              Fixed Disk Utilization                           22
  60.              CPU Utilization                                  23
  61.              Network Interface Cards                          23
  62.              Network Media Utilization                        24
  63.  
  64.        Performance Benchmark Comparison                       25
  65.  
  66.  
  67. _________________________________________________________________
  68. Introduction
  69.  
  70.   LAN Server 4.0 includes features that allow increased capacity and
  71.   performance over LAN Server 3.0.  Architectural limitations of LS 3.0 have
  72.   been addressed in LS 4.0.  Parameter defaults have been increased so that a
  73.   newly installed Advanced Server supports 100 users without modifications.
  74.   Client-side caching has been added to the DOS  client resulting in improved
  75.   performance.  A new protocol driver that runs at ring 0 privilege along with
  76.   OS/2* NetBIOS over TCP/IP provides greater performance than the OS/2 NetBIOS
  77.   for TCP/IP used by LS 3.0. In addition, LS 4.0 provides a tool (LAN Server
  78.   4.0 Tuning Assistant) to help users tune their specific configurations for
  79.   optimum performance.
  80.  
  81.   The features described above are documented in the LS 4.0 publications.  It
  82.   is the intent of this paper to provide additional information, such as
  83.   design considerations and performance analysis results, from the LAN Server
  84.   Performance Analysis group.
  85.  
  86. _________________________________________________________________
  87. LAN Server 4.0 Performance Tuning Assistant
  88.  
  89.   Introduction to the Tuning Assistant
  90.  
  91.     The Tuning Assistant was designed to satisfy the following usability and
  92.     performance objectives:
  93.  
  94.     ■      Provide an easy way for users to tune LS 4.0 to their configurations
  95.     ■      Provide performance tuning based on users' unique situation
  96.     ■      Optimize performance parameters but leave safety margin
  97.     ■      Provide a tool to allow "what if" calculations
  98.  
  99.     The following are general rules implemented by the Tuning Assistant during
  100.     calculations and modifications
  101.  
  102.     ■      Never reduce parameters below their default value
  103.     ■      Never add or delete lines from any configuration file
  104.     ■      Never exceed maximums such that system will not boot
  105.     ■      NetBios resource requirements will be spread equally over adapters
  106.     ■      LAN Server has priority if NetBios resources are overcommited
  107.  
  108.     In most environments the important elements in tuning LAN Server for best
  109.     performance (in priority order) are the following:
  110.  
  111.     ■      Configure the largest HPFS386 cache possible
  112.     ■      Provide a sufficient number of NUMREQBUF
  113.     ■      Provide a sufficient number of Commands ('x2' parameter in the
  114.            'netx' line of the IBMLAN.INI)
  115.     ■      Enough adapters (and NETBIOS resources) for number of users
  116.     ■      Provide a sufficient number of NUMBIGBUF(Entry Server or print
  117.            spooling only)
  118.     ■      Reserve sufficient memory for GUI if it will be used frequently and
  119.            delay for swapping is undesirable
  120.  
  121.   HPFS386 Cache Size Calculation
  122.  
  123.     The HPFS386 cache size calculation involves determining all the uses of
  124.     memory in the system and assigning the remainder to the cache.  Listed
  125.     below are the factors used by the Tuning Assistant in the calculation of
  126.     the HPFS386 cache size of a system with a memory size of 32.0 MB.
  127.  
  128.     Memory Allocation (MB):
  129.            - OS/2 base                                   2.8
  130.            - Spooler                                     0.7
  131.            - MPTS base                                   0.6
  132.            - Memory per adapter                          0.2
  133.            - LAN Server base                             3.5
  134.            - IBMLAN.INI additional                       1.5
  135.            - Heap reserve                                1.0
  136.            - Cache mgmt (64 bytes/1K                     1.3
  137.              bytes for memory in excess
  138.              of 12M)
  139.            - Reserve for other apps                      1.0
  140.            - Safety margin (5 percent)                   1.6
  141.            - Memory assigned to HPFS386 cache           17.8
  142.                         TOTAL                           32.0 MB
  143.  
  144.     The entries for OS/2, MPTS and LAN Server base are the same as found in the
  145.     Memory Estimating Worksheets in the Network Administrators References
  146.     Volume 1, Appendix A.
  147.  
  148.     The "IBMLAN.INI additional" entry is for increases made to certain
  149.     parameters by the Tuning Assistant.
  150.  
  151.     The Heap reserve memory is set to 1 MB; this memory is used by LAN Server
  152.     for internal file system control needs such as open file handle tables,
  153.     search handles, filename parsing, etc.  This memory is not assigned to
  154.     the Heap parameter but merely set aside for availability.
  155.  
  156.     The cache management entry is necessary when dealing with large cache sizes
  157.     as it becomes a significant amount of memory.  The formula is applied
  158.     after subtracting 12 MB from the system memory size since at least 12 MB
  159.     of memory is always needed and is never available for cache.
  160.  
  161.     By default, 1 MB is always reserved for other user applications to be run
  162.     on the server.  This is a parameter used by the Tuning Assistant to
  163.     provide the administrator with a significant input to the cache size
  164.     calculation. Note:  The administrator should determine the memory
  165.     requirements of any application that is to run concurrently with LAN
  166.     Server and provide that value in the 'Application Reserve Memory' entry
  167.     field of Tuning Assistant.
  168.  
  169.     An important example of an additional user application on the server is
  170.     the new LS 4.0 Graphical user Interface (GUI).  If the administrator will
  171.     regularly use the GUI administration feature, at least 5 MB should be
  172.     entered for this parameter to provide good performance of the GUI.  If
  173.     this amount of memory is not available, significant swapping will occur
  174.     when the GUI is started.  If only occasional use of the GUI on the server
  175.     is expected, the recommendation is to leave this parameter at 1 MB and use
  176.     the additional 4 MB system memory for HPFS386 cache.
  177.  
  178.   Examples of Key Parameter Calculations
  179.  
  180.   NUMREQBUF (IBMLAN.INI)
  181.  
  182.     Optimum number is 2 to 3 per "active" user.  Since NUMREQBUF locks the
  183.     memory from other processes, we want to be efficient.  Also, since most
  184.     uses of NUMREQBUF require a corresponding command it is wasteful to
  185.     allocate more NUMREQBUF than commands.  Only 250 commands per adapter are
  186.     configured by Tuning Assistant, thus only 250 NUMREQBUFs per adapter will
  187.     be configured.
  188.  
  189.     Calculation:  2.2 times MAXUSERS with maximum of 250 per adapter.
  190.  
  191.     Special Considerations:  Memory used by NUMREQBUF is calculated in Tuning
  192.     Assistant using a hard coded value of 4096 bytes for each request
  193.     buffer. If the user wants to change SIZREQBUF from 4096 to 2048,
  194.     then the calculated HPFS386 cache size can be increased by
  195.     (NUMREQBUF * SIZREQBUF) /2.
  196.  
  197.     A parameter related to NUMREQBUF is the USEALLMEM parameter in the
  198.     Requester section of the IBMLAN.INI.  This parameter allows request
  199.     buffers to be defined in the memory above 16 MB.  If no network interface
  200.     cards (NICs) are limited to 24-bit direct memory access (DMA), and more
  201.     than 16 MB of RAM is installed in the machine, set this parameter to
  202.     'YES'.
  203.  
  204.   NUMBIGBUF (IBMLAN.INI)
  205.  
  206.     NUMBIGBUF are used only by the ring 3 (Entry) Server when files are
  207.     accessed on a FAT or HPFS file system or the Printer Spooler is accessed.
  208.     Because better performance can be obtained by using all available memory
  209.     for HPFS386 cache, NUMBIGBUF will not be increased if the LAN Server
  210.     Advanced package is installed.
  211.  
  212.     Calculation: If Advanced Server, NUMBIGBUF = 12 (default).  If Entry
  213.     Server, NUMBIGBUF increases to a maximum of 80 as MAXUSERS increases.
  214.  
  215.   Commands (IBMLAN.INI)
  216.  
  217.     For optimum performance commands also needs to be 2 to 3 per "active" user
  218.     because of its close relationship with NUMREQBUF.  Obviously, if 250 users
  219.     are logged on through one adapter, each user will not have 2 to 3 commands
  220.     always available and performance will be less than optimum.  The
  221.     IBMLAN.INI parameter that specifies commands is 'x2' in the 'netx'
  222.     statement.
  223.  
  224.     Calculation:  2.2 times MAXUSERS with maximum of 250 per adapter
  225.  
  226.     Special Considerations: Commands (NCBS in Protocol.ini) are NetBios
  227.     resources and must be shared with other NetBios applications like DB2*,
  228.     Lotus Notes**, etc.  If a user specifies a MAXUSERS >=114, commands of
  229.     250 will be set for LAN Servers' net1 line, leaving only 4 commands for
  230.     other NetBios applications. Users should manually reduce commands in the
  231.     net1 line to allow the other applications more NCBS resources if required.
  232.  
  233.   Maxusers (IBMLAN.INI)
  234.  
  235.     Calculation:  # DOS/Windows** users + # OS/2 users + # additional servers
  236.     (if Domain Controller)
  237.  
  238.   Maxshares (IBMLAN.INI)
  239.  
  240.     Calculation: Number home dirs + # aliases + (3 * number shared apps).
  241.  
  242.   Maxconnections (IBMLAN.INI)
  243.  
  244.     Calculation:  (MAXUSERS + # additional servers) * 4
  245.  
  246.     Special considerations: Advanced Server maintains its own set of connection
  247.     resources; this parameter pertains only to resources shared by the ring 3
  248.     (Entry) Server such as print aliases.  This is also true for the following
  249.     parameters which are not changed for Advanced Server (if HPFS only):
  250.     MAXLOCKS, MAXOPENS.
  251.  
  252.   Maxsearches (IBMLAN.INI)
  253.  
  254.     Calculation: The Tuning Assistant sets MAXSEARCHES = 700
  255.  
  256.     Special considerations: Advanced Server maintains its own set of search
  257.     resources; this parameter pertains only to searches done by the ring 3
  258.     (Entry) Server.  This value was chosen to provide ample search memory for
  259.     the ring 3 (Entry) Server.
  260.  
  261.   Sessions (PROTOCOL.INI)
  262.  
  263.     Calculation: DOS/WIN requesters + OS/2 requesters + # additional servers
  264.                  (if DC) + Lotus Notes requesters + DB2 requesters + User
  265.                  logged on server + other NetBios requirements
  266.  
  267.  
  268.   NCBS Calculation (PROTOCOL.INI)
  269.     For optimum performance NCBS also need to be 2 to 3 per "active" LAN Server
  270.     user plus the NetBios commands needed by other NetBios applications.
  271.  
  272.     Calculation: 2.2 times MAXSESSIONS + other NetBios reqmts up to a maximum
  273.                         of 254 per adapter
  274.  
  275.     Special considerations: NCBS in PROTOCOL.INI are shared with other NetBios
  276.     applications like DB2, Lotus Notes, etc. LAN Server will use a maximum of
  277.     250 of the 254.
  278.  
  279.   Using Tuning Assistant in "What if" Mode
  280.  
  281.     In response to feedback from Beta users the "What if" mode was added,
  282.     although it is not described in the product documentation.   This is the
  283.     capability to run Tuning Assistant calculations on a machine other than
  284.     where LAN server 4.0 is installed. This will allow a user to provide system
  285.     configuration information to Tuning Assistant and create tuned
  286.     configuration files for use on other machines. IBM is interested in your
  287.     experience with Tuning Assistant.  Please post your comments and any
  288.     operational concerns to the LS40 CFORUM and someone will respond.
  289.  
  290.     The Tuning Assistant's filename is LS40TUNE.EXE; it is located in the
  291.     IBMLAN directory. The additional parameters which can be used in the
  292.     command line launch of Tuning Assistant are as follows:
  293.  
  294.            /D:DOMAIN1 - Domain name (has no effect on calculations)
  295.            /S:SERVER1 -  Server name (has no effect on calculations)
  296.            /T:DC(or AS) - Type: Domain controller or Additional server
  297.            /P:Entry(or Advanced) Package - Entry or Advanced version
  298.            /M:XX -  System Memory in MB
  299.            /A:N - Number of network interface cards(adapters)
  300.            /U - User supplied files (CONFIG.SYS, IBMLAN.INI, PROTOCOL.INI,
  301.            and HPFS386.INI)
  302.  
  303.            NOTE: /T is always required whenever /U is specified if running on
  304.            a system with no server installed.
  305.  
  306.     Example 1
  307.  
  308.            LS40TUNE /D:DOMAIN1 /S:SERVER1 /T:DC /P:ADVANCED /M:32
  309.            /A:2 /U
  310.  
  311.     To run Tuning Assistant this way, all four of the Advanced version
  312.     configuration files must be located in the current subdirectory with
  313.     LS40TUNE. This will run on a machine with or without a server installed.
  314.     The command line values will take precedence over any actual system version
  315.     of these parameters. If the "Apply" pushbutton is chosen the user supplied
  316.     files will be changed and no backup files will be made.
  317.  
  318.     Example 2
  319.  
  320.            LS40TUNE /M:32 /A:2
  321.  
  322.     This will run only on a machine with a server installed. The command line
  323.     values will take precedence over actual system versions of these
  324.     parameters. This example could be useful to look at the effects of more
  325.     system memory or network interface cards on the tuning calculations. When
  326.     the "Apply" pushbutton is chosen the system configuration files will be
  327.     changed and backup files will be copied into the \IBMLAN\BACKUP
  328.     subdirectory with names like IBMLAN.001, PROTOCOL.001, etc. All files that
  329.     are updated when the Tuning Assistant calculation is 'applied' will have
  330.     the same suffix.
  331.  
  332.     Warning: The "What if" feature is useful in examining the logic of the
  333.     Tuning Assistant, but you should be careful when creating actual
  334.     configuration files for use on systems other than the one on which
  335.     the tool was executed.
  336. ________________________________________________________________
  337. LAN Server 4.0 Configuration Defaults
  338.  
  339.   The Advanced version of LS 4.0 may be used in larger configurations than
  340.   previous versions. Therefore, default values of a number of parameters have
  341.   been increased. The objective is to allow many users to run LS 4.0 out-of-box
  342.   with little or no customized tuning. The Advanced Server will support 100
  343.   users in typical environments, however, running the Tuning Assistant may
  344.   provide an additional performance improvement for some customers. Some
  345.   changes to the Entry Server and Peer Services were also made.  A summary
  346.   follows:
  347.  
  348.   ┌───────────────────────────────────────────────────────────────┐
  349.   │ IBMLAN.INI       │    ADVANCED   │      ENTRY    │      PEER     │
  350.   │ PARAMETERS       │     SERVER    │     SERVER    │    SERVICES   │
  351.   ──────────────────┼──────────────┼──────────────┼──────────────
  352.  
  353.   │                  │ LS 3.0│ LS 4.0│ LS 3.0│ LS 4.0│ LS 3.0│ LS 4.0│
  354.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  355.  
  356.   │ maxopens         │  576  │  256  │  576  │  160  │  576  │  128  │
  357.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  358.  
  359.   │ maxsearches      │   50  │  350  │   50  │  150  │  50   │   50  │
  360.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  361.  
  362.   │  numbigbuf       │   12  │   12  │   12  │    6  │  12   │    4  │
  363.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  364.  
  365.   │  numreqbuf       │   36  │  250  │   36  │   48  │  36   │   10  │
  366.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  367.  
  368.   │  maxshares       │   16  │  192  │   16  │   64  │  16   │   16  │
  369.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  370.  
  371.   │  maxusers        │   32  │  101  │   32  │   32  │   5   │    5  │
  372.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  373.  
  374.   │  maxconnections  │  128  │  300  │  128  │  128  │  26   │   26  │
  375.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  376.  
  377.   │  x1(in net1)     │   32  │  102  │   32  │   34  │  32   │   34  │
  378.   ──────────────────┼───────┼───────┼───────┼───────┼───────┼───────
  379.  
  380.   │ x2(in net1)      │   50  │  175  │   50  │   70  │  50   │   70  │
  381.   └────────────────────────────────────────────────────────────┘
  382.   ┌────────────────────────────┐
  383.   │ PROTOCOL.INI│ SAME FOR ALL  │
  384.   │ PARAMETERS  │    VERSIONS   │
  385.   ─────────────┼──────────────
  386.  
  387.   │             │ LS 3.0│ LS 4.0│
  388.   ─────────────┼───────┼───────
  389.  
  390.   │ sessions    │   40  │  130  │
  391.   ─────────────┼───────┼───────
  392.  
  393.   │ ncbs        │   95  │  225  │
  394.   └───────────────────────────┘
  395.  
  396.   HPFS386 Cache Defaults
  397.  
  398.     The HPFS386 cachesize was specified in the IFS line in CONFIG.SYS in LS
  399.     3.0. For LS 4.0 it is specified in the \IBM386FS\HPFS386.INI file with a
  400.     line reading "cachesize = xxxx" in the FILESYSTEM section.
  401.  
  402.     The algorithm for determining the default HPFS386 cache size has also
  403.     changed. Previously the cache size was set at 20 percent of the remaining
  404.     memory after OS/2 was started. This gave a cache size of 2.9 MB on a 16 MB
  405.     system. This formula will still be used as long as there is less than 20 MB
  406.     of memory in the system. If the system has at least 20 MB of memory and the
  407.     user has indicated that the server can use memory above 16 MB for cache,
  408.     the default cache size will be 60 percent of remaining memory after OS/2
  409.     has started. This will yield a cache size of around 18 MB on a 32MB system.
  410.     This will enable LS 4.0 to provide excellent performance on most systems
  411.     without any tuning.
  412.  
  413.     As with earlier releases of LAN Server, the USEALLMEM parameter defaults
  414.     to 'NO'.  This restricts access to memory above 16 MB.  If no network
  415.     interface cards (NICs) or disk adapters are limited to 24-bit direct memory
  416.     access (DMA), and more than 16 MB of RAM is installed, this parameter
  417.     should be set to 'YES'.  This parameter used to be in the CONFIG.SYS file
  418.     but is now in the FILESYSTEM section of the HPFS386.INI file.
  419. _______________________________________________________________
  420. DOS LAN Services Client Performance Considerations
  421.  
  422.   OS/2 Lan Server 4.0 comes with DOS Lan Services (DLS) clients.  DLS clients
  423.   offer substantial performance improvements over the DOS Lan Requester (DLR)
  424.   clients provided with LAN Server 3.0. Significant performance benefit is
  425.   realized through the implementation of client-side caching algorithms.  In
  426.   brief, client-side caching offers local caching, reducing requests to the
  427.   server, thereby increasing overall system performance.
  428.  
  429.   Client-side caching is enabled by default with DLS clients. This means that
  430.   the AUTOCACHE parameter is set to YES in the NETWORK.INI file  (since this
  431.   a default, it is not specifically written into NETWORK.INI during
  432.   installation). With AUTOCACHE=YES, the DLS client will allocate big buffers
  433.   in extended memory(XMS).  Each big buffer is 8K in size.  The number of big
  434.   buffers is calculated by the system and is dependent on the amount of XMS
  435.   available (up to a maximum of 30 big buffers).  If a machine does NOT have
  436.   any XMS the AUTOCACHE parameter is effectively ignored.  If you want to
  437.   configure big buffers on a DLS client that has no XMS, set the following
  438.   parameters in the NETWORK.INI file:
  439.  
  440.          1.    AUTOCACHE=NO
  441.          2.    SIZBIGBUF=xxxx (in bytes)
  442.          3.    NUMBIGBUF=xx (integer)
  443.  
  444.   This will allocate big buffers on the client that can be used for large data
  445.   transfers.  However, these buffers will be put in Upper and/or Conventional
  446.   Memory, reducing available memory for applications.
  447.  
  448.   Another parameter of importance with DLS clients is the WORK BUFFERS.
  449.   These are the buffers that are used on the requester to process an
  450.   application's request for data. The default values for WORK BUFFERS on the
  451.   DLS client are as follows (also set in NETWORK.INI).
  452.  
  453.          1.    SIZWORKBUF=1024
  454.          2.    NUMWORKBUF=2
  455.  
  456.   The above default values are the generally recommended values for the best
  457.   system performance. If you are unable to use the AUTOCACHE option, you may
  458.   want to experiment with these two parameters for possible improvements in
  459.   your environment.
  460. ____________________________________________________________
  461. LAN Server 4.0 Capacity Enhancements
  462.  
  463.   As the number of workstations connected to LAN Server 3.0 grew into the
  464.   hundreds in some installations, an architectural limitation was discovered
  465.   which has been addressed in LAN Server 4.0. Specifically, a data structure
  466.   design was limiting the number of request buffers(NUMREQBUF) which could be
  467.   configured to a maximum of around 350. In large installations this could
  468.   cause a performance degradation. LAN Server's new design provides future
  469.   extensibility by allowing the value of NUMREQBUF to be as large as 2000.
  470.  
  471.   The current recommended value for NUMREQBUF is 2.2 per user up to a
  472.   maximum of 250 for each adapter, or 1000 if four adapters are in the system.
  473. __________________________________________________
  474. LAN Server 4.0 Support of SMP
  475.  
  476.   LAN Server 4.0 has been tested with and shown to support symmetric
  477.   multi-processor(SMP) machines running under OS/2 for SMP. LAN Server 4.0
  478.   Advanced does not gain additional performance benefits from SMP machines.
  479.   Its architecture has been optimized to the point where most requests are
  480.   processed "on interrupt" when received from the network component.  The
  481.   queuing time for a request to be processed is usually extremely short since
  482.   there are rarely instances when a file/print server's CPU approaches 100
  483.   percent utilization. Under these conditions, it would not be expected that
  484.   an additional CPU would improve response time to the requester.  This design
  485.   provides industry leading performance as evidenced by the LANQuest** report
  486.   of October 1994.  See page 25 for more information.
  487.  
  488.   There are some situations in which LAN Server 4.0 support of SMP does lead
  489.   to an improvement in total system throughput performance. Since OS/2 is a
  490.   multi-tasking operating system, other applications can run in the same
  491.   machine as LAN Server. For other applications which make extensive use of
  492.   the CPU(e.g. Lotus Notes, etc.), additional processors may make sense.
  493.   Whenever the CPU workload approaches 100 percent, the additional processor
  494.   can make a significant difference in the system throughput. LAN Server 4.0
  495.   Advanced accommodates the use of the additional processor unless its own
  496.   workload is unusually high in which case it takes precedence over other
  497.   applications. LAN Server 4.0 Entry runs with the same privilege as other
  498.   OS/2 applications and does not take precedence in an SMP environment.
  499. _______________________________________________________
  500. NETBIOS Over TCP/IP
  501.  
  502.   Design Considerations
  503.  
  504.     NetBIOS over TCP/IP is an implementation of NetBIOS that has been
  505.     specifically designed to operate with IBM TCP/IP.  It enables a
  506.     workstation to be geographically isolated from its domain yet communicate
  507.     with it transparently.
  508.  
  509.     NetBIOS over TCP/IP is an implementation of the Request for Comments (RFCs)
  510.     1001/1002 standards which describe how to enable NetBIOS applications over
  511.     TCP/IP.  It is a B-node, or Broadcast node implementation with routing
  512.     extensions.  A broadcast node uses broadcasting to exchange information
  513.     between hosts.  The routing extensions allow nodes to span subnets through
  514.     IP routers. These extensions plus the remote name cache discussed below
  515.     simplify the configuration of RFC 1001/1002 NetBIOS nodes into TCP/IP
  516.     environments.
  517.  
  518.     NetBIOS over TCP/IP uses an expanded syntax for NetBIOS names that is
  519.     transparent to NetBIOS applications.  The Local NetBIOS Name Scope String
  520.     is appended to the NetBIOS name creating an expanded name that has the
  521.     effect of limiting the scope of a NetBIOS name.  Two RFC-compliant NetBIOS
  522.     nodes can communicate only if they have the same Local NetBIOS Name Scope.
  523.     The Local NetBIOS Name Scope string is defined by the LOCALSCOPE parameter
  524.     in the TCPBEUI section of the PROTOCOL.INI.
  525.  
  526.     NetBIOS over TCP/IP supports only 1 logical netbios adapter and should
  527.     therefore be added to only 1 network interface card during the installation
  528.     /configuration process.  However, if TCP/IP is installed on multiple
  529.     adapters, NetBIOS over TCP/IP will make use of those adapters.
  530.  
  531.     TCPBEUI is IBM's high performance, ring zero protocol driver which maps
  532.     NetBIOS API calls into the TCP/IP protocol. NetBIOS over TCP/IP contains
  533.     enhancements over the RFC 1001/1002 standards which improve system
  534.     performance by decreasing broadcast storms, and expanding communications
  535.     over routers and bridges. These enhancements, described in the next
  536.     section, are transparent to NetBIOS applications and do not interfere
  537.     with other B-node implementations that lack similar functions.
  538.  
  539.   Enhancements
  540.  
  541.     Three of the enhancements to NetBIOS over TCP/IP are in the form of routing
  542.     extensions.  These extensions allow communication between networks and over
  543.     IP routers and bridges.  These extensions are:
  544.  
  545.     1.     The broadcast file.  A broadcast file contains a list of host names, host
  546.            addresses, or directed broadcast addresses.  It is read at startup
  547.            and each valid address is added to the set of destination addresses
  548.            for broadcast packets. Remote nodes included in the broadcast file
  549.            are then treated as if they were on the local network. Use of a
  550.            broadcast file has the effect of extending a node's broadcast domain
  551.            to its own subnet plus any other subnets listed in the broadcast
  552.            file.  A maximum of 32 broadcast file entries are supported, each
  553.            of which could include additional subnets, thus extending the node's
  554.            broadcast domain.
  555.  
  556.     2.     The names file.  A names file consists of NetBIOS name and IP
  557.            address pairs. NetBIOS over TCP/IP will conduct a prefix search of
  558.            the names file before broadcasting on the network. The prefix match
  559.            succeeds if the entry in the names file matches the given name, up
  560.            to the length of the entry. The first match is used, therefore, the
  561.            order in which NetBIOS names are listed in the names file is
  562.            important.
  563.  
  564.            To enable this routing extension, set the NAMESFILE parameter in the
  565.            TCPBEUI section of the PROTOCOL.INI to a nonzero integer that
  566.            represents the number of names file  entries.
  567.  
  568.     3.     The Domain Name Server (DNS). A network administrator can maintain
  569.            NetBIOS name and IP address pairs in a DNS.  If a name query fails
  570.            NetBIOS over TCP/IP can append the NetBIOS Domain Scope String to
  571.            the encoded NetBIOS name and issue a request to the DNS to look up
  572.            an IP address for that NetBIOS name.
  573.  
  574.            The Domain Scope String is defined by the PROTOCOL.INI parameter
  575.            DOMAINSCOPE.
  576.  
  577.     Another enhancement NetBIOS over TCP/IP provides is a cache for storing
  578.     remote names that have been discovered.  This cache is enabled by setting
  579.     the NAMECACHE parameter in the TCPBEUI section of the PROTOCOL.INI to a
  580.     nonzero integer that represents the number of names stored in the directory
  581.     (NAMECACHE=xx).
  582.  
  583.     The information in the remote names cache (or directory) is also stored on
  584.     disk and periodically updated.  When the system is restarted, this
  585.     information can be preloaded into the cache at bootup time.  Preloading
  586.     can reduce the amount of broadcast frames on the network since NetBIOS
  587.     will not have to rediscover names for remote names.  To preload the remote
  588.     names cache, set PRELOADCACHE=YES in the TCPBEUI section of the
  589.     PROTOCOL.INI.
  590.  
  591.     NOTE: When NetBIOS over TCP/IP is searching for a name, the name cache is
  592.     checked first, then the names file, the broadcast file, and finally the
  593.     Domain Name Server.
  594.  
  595.     Recommendation:  When running NetBIOS over TCP/IP in a Wide Area
  596.     Network (WAN), turn name caching on at the server (e.g. NAMECACHE=100).
  597.  
  598.   Performance Characteristics of NetBIOS over TCP/IP
  599.  
  600.     The performance difference between NetBIOS over TCP/IP and NetBEUI can
  601.     range widely depending on the environment.  Some environmental factors
  602.     that can affect performance are the type of client (OS/2 or DOS), the
  603.     server CPU workload, the type of network operations being performed, the
  604.     network media, network congestion, and communication line speeds.  We've
  605.     observed the performance of NetBIOS over TCP/IP being anywhere from 10%
  606.     slower to as much as 4 times slower than NetBEUI.
  607.  
  608.     One of the environments in which we conducted performance tests was a
  609.     medium- sized Local Area Network on 16Mbps Token Ring with no WAN
  610.     connections. We ran a set of industry standard business applications on
  611.     OS/2 NetBIOS over TCP/IP clients and again on OS/2 NetBEUI clients.  In
  612.     this environment, NetBIOS over TCP/IP was 20% slower than NetBEUI.  The
  613.     performance of DOS NetBIOS over TCP/IP clients was significantly less
  614.     than that of the OS/2 clients.
  615.  
  616.     Database applications generally use small records when accessing shared
  617.     databases residing on the server. Often these small records are retrieved
  618.     from the file system cache with no physical disk access being required.
  619.     The performance of this type of application on NetBIOS over TCP/IP may
  620.     be noticeably slower than if the application were run using NetBEUI.
  621.     However, if the number of database accesses of this type in performing a
  622.     typical operation is in the order of hundreds, not thousands, the user may
  623.     not notice a difference in performance in the two protocols.
  624.  
  625.     It may be necessary to periodically update client applications or other
  626.     files by copying them from the server disk.  DCDB replication from a
  627.     domain controller to a remote additional server also generates I/O
  628.     operations sometimes known as file transfers. This type of file I/O
  629.     activity over a network will show little or no performance difference
  630.     between NetBEUI and NetBIOS over TCP/IP due to protocol characteristics.
  631.     One should be aware, however, that most WAN connections today are made
  632.     over relatively low speed communication lines when compared with a LAN
  633.     speed of 4 to 16 Mbps. File transfer operations over WAN communication
  634.     lines will probably be slower than over LANs but most likely not due to
  635.     the network protocol.
  636.  
  637.   Tuning TCP/IP
  638.  
  639.     If you're using NetBIOS over TCP/IP in a Local Area Network environment,
  640.     file transfer performance might be improved by increasing the maximum
  641.     transmissible unit (MTU) size.  We have seen up to a 20 percent increase
  642.     in performance of large file transfers by using an 8KB packet instead of
  643.     the default 1500 bytes. The default of 1500 was chosen because of
  644.     ethernet's packet size limitation and prevalence in TCP/IP environments.
  645.  
  646.     The MTU size can be changed with the IFCONFIG command in TCP/IP's
  647.     SETUP.CMD.  Set the MTU size to the desired packet size plus 40 bytes, the
  648.     maximum TCP/IP header size.  The desired packet size should be a multiple
  649.     of 2048.
  650.  
  651.     Your network adapter must be configured to support transmission of buffers
  652.     that are at least the size specified for the MTU. On an IBM 16/4 Token Ring adapter,
  653.     this would be accomplished by setting the XMITBUFSIZE parameter in the
  654.     Token Ring section of the PROTOCOL.INI file.  Check your network interface
  655.     card documentation for information on configuring your adapter.
  656.  
  657.   Recommendation: Dual Protocol Stack
  658.  
  659.     Because there may be a performance difference in a particular environment,
  660.     it is recommended to configure and use NetBEUI in the Local Area Network
  661.     (LAN) environment, and NetBIOS over TCP/IP in the Wide Area Network (WAN)
  662.     environment.  The Multi-Protocol Transport Services (MPTS) shipped with LAN
  663.     Server 4.0 provides the capability of configuring your LAN workstation or
  664.     server with both NetBEUI and NetBIOS over TCP/IP on the same network
  665.     interface card.
  666.  
  667.     The dual protocol stack can be configured through the LAN Server
  668.     installation/configuration program.  When selecting protocols, install
  669.     logical adapter 0 with NetBEUI and logical adapter 1 with TCP/IP and
  670.     NetBIOS over TCP/IP.  This dual protocol stack configuration allows local
  671.     sessions to continue running with NetBEUI performance while also providing
  672.     Wide Area Network connectivity with NetBIOS for TCP/IP.
  673.  
  674. ____________________________________________________________
  675. Additional Useful Information
  676.  
  677.   Reducing NetBIOS Broadcast Frames
  678.  
  679.     A key concern with many NetBIOS users is the amount of broadcast traffic
  680.     that occurs on the network.  Broadcasts are used to communicate between
  681.     nodes. Broadcast storms can slow network performance and overwhelm routers.
  682.     Use of the Remote Name Directory (RND) function can help to minimize this
  683.     broadcasting by sending frames to specific nodes when possible.
  684.  
  685.     When using RND, the local station caches the node addresses of remote names
  686.     that it has located.  Any messages sent to that remote name after the node
  687.     address has been saved is sent directly to that node rather than broadcast
  688.     to all nodes.
  689.  
  690.     The RND function in LAN Server 4.0 has been extended to include datagrams.
  691.     RND stores only unique names and no group names, so if an application uses
  692.     mostly group names for sending datagrams, RND should not be used.  Another
  693.     enhancement to the RND function is that the maximum number of directory
  694.     entries has been increased from 255 to 2000 when running on OS/2 2.0 or
  695.     greater.
  696.  
  697.     The parameter RNDOPTION in the NETBEUI section of the PROTOCOL.INI
  698.     specifies whether RND is turned on or off.  Set this parameter to 1 to
  699.     enable use of the RND function.  If RNDOPTION is chosen, make sure that
  700.     DATAGRAMPACKETS in the NETBEUI section is greater than 2. A related
  701.     parameter, also found in the NETBEUI section, is NAMECACHE. This parameter
  702.     specifies the size of the remote name directory.  This parameter defaults
  703.     to 1000 entries.
  704.  
  705.   DCDB Replication Performance
  706.  
  707.     Changes to the DCDB Replicator service for LS 4.0 have yielded substantial
  708.     performance improvements.  In some configurations, users may see up to an
  709.     80 percent increase in performance over the LS 3.0 DCDB Replicator service.
  710.  
  711.   Upgrading from LAN Server 3.0
  712.  
  713.     Upgrading from LAN Server 3.0 to LAN Server 4.0 will cause parameters in
  714.     the PROTOCOL.INI file to be set to the LS 4.0 default values.  This may
  715.     cause performance problems in previously tuned servers.  Users who have
  716.     fine-tuned their PROTOCOL.INI for LS 3.0 should be aware that they may
  717.     need to make the same changes for LS 4.0.
  718.  
  719.   Considerations when RAW SMBs are disabled
  720.  
  721.     The multiplex read and write SMB protocols are used if the RAW SMB protocol
  722.     is disabled.  These protocols divide data transfers into buffer-size chunks
  723.     (sizworkbuf) and chain them together to satisfy large read or write
  724.     requests.
  725.  
  726.     A parameter that affects performance when working in multiplex mode is
  727.     PIGGYBACKACK in the NetBEUI section of the PROTOCOL.INI file.  This
  728.     parameter specifies whether NetBIOS sends and receives acknowledgements
  729.     piggybacked with incoming data.  When used with RAW SMBs, piggybackacks
  730.     improve performance.  However, users that attempt to use piggybackacks with
  731.     multiplex SMBs may see performance degrade by up to 3 times for large file
  732.     transfers.
  733.  
  734.     Note:  The RAW SMB protocol is disabled on a server when srvheuristic 19 in
  735.     the IBMLAN.INI file is set to 0 (default=1).  The RAW SMB protocol on an
  736.     OS/2 client is disabled when IBMLAN.INI wrkheuristic 11 is set to 0
  737.     (default=1) and wrkheuristics 14 and 15 are set to 1 (default=1).
  738.  
  739.   DOS TCP/IP
  740.  
  741.     The LAN Server Performance Team has tested a number of vendor TCP/IP
  742.     products for DOS.  These include Network Telesystems, Wollongong, and FTP
  743.     TCP/IP offerings.  In many cases, these performed considerably better than
  744.     the IBM TCP/IP protocol stack shipped with LAN Server 4.0.  The Network
  745.     Telesystems product, in particular, showed significant throughput
  746.     improvement.
  747.  
  748.     While IBM continues to refine their DOS TCP/IP offering, the performance
  749.     content of each of the OEM products reviewed may provide a near-term
  750.     solution for running DOS clients in a TCP/IP environment.
  751.  
  752.     In addition to the TCP/IP protocol stack, each of the vendor products
  753.     includes the normal TCP/IP applications such as FTP, mail, SNMP, etc.
  754.  
  755.   Configuring DOS LAN Services with Windows for Workgroups
  756.  
  757.     You can install both Windows for Workgroups and DOS LAN Services on the
  758.     same workstation.  However, you cannot use the network function of Windows
  759.     for Workgroups with this configuration.  To run DOS LAN Services and
  760.     Windows for Workgroups on the same workstation, use the following
  761.     procedure:
  762.  
  763.            1.  Install Windows for Workgroups
  764.  
  765.            2.  Install DOS LAN Service
  766.  
  767.            3.  In the WINDOWS\SYSTEM directory, rename the following files:
  768.                  From:               To:
  769.                  VNETSUP.386         VNETSUP.WFW
  770.                  VREDIR.386          VREDIR.WFW
  771.                  NETAPI.DLL          NETAPI.WFW
  772.                  PMSPL.DLL           PMSPL.WFW
  773.  
  774.            4.  In the CONFIG.SYS file, REM out the following line:
  775.                  'DEVICE=C:\WINDOWS\IFSHELP.SYS'
  776.  
  777.            5.  In the Windows SYSTEM.INI file, under the '386enh' section,
  778.                change the line that contains the 'network=' statement to the
  779.                following: 'network=vnetbios.386,vnetsup.386,vredir.386'
  780.  
  781.     The fix for APAR IC08963 makes the same changes, so you can use the APAR
  782.     fix if you do not want to change the CONFIG.SYS and SYSTEM.INI files
  783.     manually.
  784. _______________________________________________________________
  785. Additional Tips for LAN Server 4.0 Performance
  786.  
  787.   A number of the major factors affecting performance of LAN Server 4.0 are
  788.   reviewed in the following sections. Although a few parameters are discussed,
  789.   most of the tips are aimed at getting you to think about your particular
  790.   environment in relation to LAN Server's system resources.
  791.  
  792.   Because there will always be a bottleneck in any computer system, the
  793.   objective of performance tuning is to remove the current bottleneck.
  794.   Hopefully the resulting system performance has its new bottleneck at an
  795.   operating point outside normal operating conditions.
  796.  
  797.   Entry vs. Advanced Server
  798.  
  799.     If your LAN Server is to share file, applications, or printers for less
  800.     than 80 users, the Entry Server will fit your needs with very good
  801.     performance.  The LANQuest report described on page 22 contains a
  802.     comparison of Entry vs. Advanced Server performance.  A subsequent upgrade
  803.     to Advanced Server is available with minimum impact to your business.
  804.  
  805.     If your immediate requirements are for high performance and high capacity,
  806.     you will want the Advanced Server.  To gain the performance advantage of
  807.     the Advanced version, your applications and data files must reside on an
  808.     HPFS386 partition, not on a FAT partition. Neither OS/2 2.1 nor LS 4.0
  809.     must be installed on an HPFS386 partition because accesses to system
  810.     software are infrequent after initial loading.
  811.  
  812.   Fixed Disk Utilization
  813.  
  814.     The disk subsystem, an electromechanical device, can often be the system
  815.     bottleneck even though the system provides a lot of memory for caching
  816.     files.  If you have observed that your fixed disk activity indicator (the
  817.     little light that flashes when the hard disk is in use) is on more than it
  818.     is off for long periods of time, you probably have a disk bottleneck.
  819.     Your options for improving performance include:
  820.  
  821.     -      Distribute the disk-intensive workload from a single physical disk
  822.            drive to multiple disk drives, enabling concurrent disk seeks and
  823.            read/writes.
  824.  
  825.     -      Off-load some users, files, or applications to another server.
  826.  
  827.     -      Install the Fault Tolerance feature of LAN Server to enable disk
  828.            mirroring. This not only protects your data by backing up your disk
  829.            but also improves performance since the additional disk drive will
  830.            also be used to read data (split reads).
  831.  
  832.     -      Adding fixed disks and striping data across them (RAID architecture)
  833.            will sometimes improve performance as well as enhance data integrity
  834.            in an environment where data is   predominantly looked up (read)
  835.            without a subsequent update (write), for example, databases used
  836.            for price lookup, part number information, etc.
  837.  
  838.   CPU Utilization
  839.  
  840.     Server performance can degrade when the computer (CPU)'s ability to process
  841.     incoming instructions is overtaxed. If there are many users (usually
  842.     hundreds) with high interaction rates to the server, a CPU performance
  843.     bottleneck may occur (the Advanced server CPU efficiency is several times
  844.     greater than the Entry server). You may see a lot of fixed-disk activity
  845.     and suspect the disk subsystem, but this may be lazy-write activity, which
  846.     is not necessarily the system bottleneck.  To check CPU utilization you
  847.     can use System Performance Monitor/2 or LAN NetView* Monitor for a
  848.     detailed analysis.
  849.  
  850.     To get a rough idea of how your server uses the CPU, start the Pulse
  851.     applet from the OS/2 Workplace Shell* Productivity folder and observe its
  852.     display during a heavy server workload period.  If the CPU utilization
  853.     level is 80 percent or greater for much of the time, performance is being
  854.     impacted by the CPU's ability to satisfy its workload demands.  Replacing
  855.     standard network interface cards (NICs) with busmaster NICs will provide
  856.     additional CPU power and usually improve server performance.  Another
  857.     remedy is to offload some of the users, files, applications, or functions
  858.     (e.g., domain controller or print server) to another server or to upgrade
  859.     to a more powerful hardware system.
  860.  
  861.   Network Interface Cards (NICs)
  862.  
  863.     Let's assume that your fixed disk activity is not excessive and that your
  864.     CPU utilization is generally less than 30 to 40 percent, but you still
  865.     feel that your server could respond more quickly. Your network interface
  866.     card (NIC) is analogous to a nozzle which physically limits the amount of
  867.     traffic flowing to/from the server.  Depending on the number of users,
  868.     speed of the client machines, type of data transactions, etc., server
  869.     performance can be NIC-limited. NICs come in 8-bit, 16-bit and 32-bit bus
  870.     widths.  Some 32-bit NICs are busmasters, which means they can handle most
  871.     data transfers with their built-in processors, relieving the server CPU of
  872.     this task.
  873.  
  874.     You can improve an NIC-limited condition by changing to a faster NIC and/or
  875.     adding additional NICs to your server.  As you add additional NICs, your
  876.     server CPU utilization will increase as the server will be busier than
  877.     before servicing the additional traffic coming through the NICs (nozzles).
  878.     If you add busmaster NICs, the increase in server CPU utilization will be
  879.     less significant, as you might expect. LS 4.0 will automatically load-
  880.     balance sessions across all NICs when you initiate a session. When using
  881.     standard 16/4 token-ring NICs, we recommend that you use a 16 KB shared
  882.     RAM size for best performance and memory utilization.
  883.  
  884.     Both LAN Server versions 3.0 and 4.0 now support more OEM NICs than the
  885.     initial release of LAN Server 3.0.  You may obtain the current lists of
  886.     supported NICs from CompuServe** with the following selections:
  887.  
  888.            1.    GO IBM
  889.            2.    Technical Service and Support
  890.            3.    IBM OS/2 Forums
  891.            4.    OS/2 Developer 2 Forum (Browse)
  892.            5.    LAN Server Library
  893.  
  894.   Network Media Utilization
  895.  
  896.     The physical media over which network traffic flows has a finite capacity.
  897.     The Ethernet bandwidth limit today is usually 10 megabits per sec (Mbps);
  898.     token rings today are running at 4 Mbps or 16 Mbps.  It is quite possible
  899.     that with powerful servers and hundreds of clients, LANs can almost
  900.     saturate the physical media providing interconnection.  This is much more
  901.     likely to occur in Ethernet networks due to the broadcast/collision
  902.     detection/re-broadcast nature of that architecture.
  903.  
  904.     In large networks interconnecting many clients and servers, the level of
  905.     network traffic on the wire can impact token- ring network performance.
  906.     A simple (but not always viable) remedy is to change your network topology. You could add
  907.     NICs to your server, and separate and isolate clients into LAN segments so
  908.     that all network traffic is not passing through all machines.  The net
  909.     effect is that the server with two Ethernet NICs now has a greater
  910.     potential bandwidth (20 Mbps) plus a lower collision level on each of the
  911.     two segments than on a single Ethernet segment.
  912.  
  913.     This solution is not viable if the machines on the two isolated segments
  914.     must communicate, since LS 4.0 does not internally route the NetBIOS
  915.     protocol.  More sophisticated ways to reduce network utilization include
  916.     using the traditional backbone rings and bridges plus the new intelligent
  917.     switches, hubs, and routers now becoming available.
  918. __________________________________________________________
  919. Performance Benchmark Comparison
  920.  
  921.   In October 1994 LANQuest Labs published a Performance Benchmark
  922.   Comparison Report assessing the performance of LAN Server 4.0 Advanced and
  923.   Entry, Windows NT** Server 3.5, and NetWare** 4.02.  The results of this
  924.   benchmarking showed that LAN Server 4.0 Advanced was 38% faster than
  925.   Windows NT Server and 11% faster than NetWare.  For copies of this report,
  926.   call 1-800-IBM-4FAX and request document 2014.
  927.  
  928.   Trademarks denoted by an asterisk (*) are IBM trademarks or registered
  929.   trademarks of the IBM Corporation in the United States and/or other
  930.   countries:  IBM, OS/2, DB2, NetView, Workplace Shell
  931.  
  932.   Trademarks denoted by a double asterisk (**) are registered trademarks of
  933.   their respective companies.
  934.