Home | History | Annotate | Download | only in stress
      1 
      2 NOTE:
      3 
      4 Physical Topology
      5 =================
      6 
      7 These tests require two machines. And each machine needs to have 2 or more
      8 interfaces. These tests assume that they run on the following topology.
      9 
     10                               Control Link
     11                 +------------------------------------+
     12                 |                                    |
     13         +-------+-------+                    +-------+-------+
     14         |               +---- Test Link 0 ---+               |
     15         |  Local Host   +          :         +  Remote Host  |
     16         |               +---- Test Link n ---+               |
     17         +---------------+                    +---------------+
     18 
     19 Control Link is used by the local host to control the remote host.
     20 `control' means, for example, changing the setting of the interfaces that are
     21 connected to the test links. The setting of the interfaces connected to the
     22 control link is never changed.
     23 
     24 Test Links are the place where the stress tests run. For example, test packets
     25 flow those links. The number of test links must be at least 1. The setting of
     26 the interfaces connected to the test links would be changed by the tests.
     27 Therefore, each test link should not belong to any external network. It is
     28 recommended to connect each pair of interfaces with the ether cross cables.
     29 
     30 Currently, different NIC testcases for ICMP/UDP/TCP/Multicast require plural
     31 test links.  Other testcases uses only 1 test link. (Test Link 0)
     32 
     33 
     34 
     35 Installation
     36 ============
     37 
     38 Like the other network tests, the remote host must have the LTP installed
     39 in the same exact location as the local host have. Please refer the `Detailed
     40 Installation 5.' section in INSTALL.
     41 
     42 
     43 
     44 Execution
     45 =========
     46 
     47 To run the network stress testcases, use network.sh script, located in
     48 testscripts directory. For documentation about using network.sh see INSTALL
     49 and testcases/network/README.md
     50 
     51 Unfortunately some stress tests still depend on rsh for accessing remote host, even
     52 you decide to use SSH or network namespaces with network.sh.
     53 Instead of rsh, you can use ssh to set the environment variable LTP_RSH.
     54 Please refer the `Environment Variable' section of this document.
     55 
     56 The behaviour of network stress tests is configurable with environment
     57 variables (See `Environment Variable' section).
     58 
     59 
     60 Attention for HTTP/FTP stress tests
     61 ===================================
     62 
     63 When you run http or ftp stress tests, you have to start http or ftp server
     64 before running the tests.
     65 About ssh and dns tests, you don't need to run the ssh or dns server.  Each
     66 test runs named or sshd automatically.
     67 
     68 Those tests requires that the remote host has `curl' command in order to
     69 upload/download files to/from the local host.
     70 
     71 When you run the ftp upload tests, please make sure the local host have
     72 enough disk space to upload somes files. The size of file is able to
     73 specify the environment variable (See `Environment Variable' section).
     74 
     75 
     76 Environment Variable
     77 ====================
     78 
     79 The nestwork stress testcases require the following environment variables:
     80 
     81   RHOST
     82   LHOST_HWADDRS
     83   RHOST_HWADDRS
     84   HTTP_DOWNLOAD_DIR	(for http stress test)
     85   FTP_DOWNLOAD_DIR	(for ftp stress test)
     86   FTP_UPLOAD_DIR	(for ftp stress test)
     87   FTP_UPLOAD_URLDIR	(for ftp stress test)
     88 
     89 You are able to configure the behavior of the testcases with the following
     90 environment variables:
     91 
     92   LTP_RSH
     93   NS_DURATION		(for the continual test)
     94   NS_TIMES		(for the repetition test)
     95   CONNECTION_TOTAL	(for creating a large number of connection test)
     96   IP_TOTAL		(for adding large number of IP address test)
     97   IP_TOTAL_FOR_TCPIP	(for multi IP address/alias test in icmp/udp/tcp)
     98   ROUTE_TOTAL		(for adding large number of route test)
     99   MTU_CHANGE_TIMES	(for changing mtu test)
    100   IF_UPDOWN_TIMES	(for interface up/down test)
    101   MCASTNUM_NORMAL	(for multicast test)
    102   MCASTNUM_HEAVY	(for multicast test)
    103   DOWNLOAD_BIGFILESIZE	(for http/ftp downloading stress test)
    104   DOWNLOAD_REGFILESIZE	(for http/ftp downloading stress test)
    105   UPLOAD_BIGFILESIZE	(for ftp uploading stress test)
    106   UPLOAD_REGFILESIZE	(for ftp uploading stress test)
    107 
    108 In these value, NS_DURATION is important if you'd like to reduce the test time.
    109 
    110 Required environment variables
    111 ------------------------------
    112 
    113  o RHOST
    114    The host name of the remote host to access it via the control link.
    115 
    116  o LHOST_HWADDRS
    117    The blank-separated hardware address list of the interfaces which are
    118    connected to a test link at the local host.
    119    This value have to have at least one address. The sequence of the hardware
    120    address have to be same to the test link sequence.
    121 
    122  o RHOST_HWADDRS
    123    The blank-separated hardware address list of the interfaces which are
    124    connected to a test link at the remote host.
    125    This value have to have at least one address. The sequence of the hardware
    126    address have to be same to the test link sequence.
    127 
    128  o HTTP_DOWNLOAD_DIR (for http stress test)
    129    The directory out of which the http server will serve the documents.
    130    In the apache case, the value of this variable is same as DocumentRoot
    131    value in httpd.conf
    132 
    133  o FTP_DOWNLOAD_DIR (for ftp stress test)
    134    The directory out of which the ftp server will serve the files.
    135 
    136  o FTP_UPLOAD_DIR (for ftp stress test)
    137    The directory which the ftp server will store the uploaded files.
    138 
    139  o FTP_UPLOAD_URLDIR (for ftp stress test)
    140    The directory part of URL where the client specifys to upload.
    141    Namely, when the URL to upload is ftp://ltp.sourceforge.net/upload ,
    142    /upload is the value to set the environment variable.
    143 
    144 
    145 Optional environment variables
    146 ------------------------------
    147 
    148  o LTP_RSH
    149    The name of the remote shell command, namely rsh or ssh.
    150    In ether case, the remote host must accept the login from the local host
    151    without password.
    152 
    153  o NS_DURATION (for the continual test)
    154    The duration of the continual test. The time unit is `second'.
    155    This variable affects all icmp/tcp/udp tests. The number of the testcase
    156    in them is big. Therefore, the test time is reduced when you set small
    157    value to the this variable.
    158    Except icmp/tcp/udp tests, this variable affects ssh, ftp and http tests.
    159 
    160  o NS_TIMES (for the repetition test)
    161    The number of repetition times for the repetition tests.
    162    This value affects IP adress add/del testcase, IP address change testcase
    163    route add/del testcase and dns query tests.
    164 
    165  o CONNECTION_TOTAL (for creating a large number of connection test)
    166    The total number of connection when the testcase requires plural connection.
    167    This value affects udp/tcp multi-connection to the same/different port
    168    testcases, ftp and http testcases.
    169 
    170  o IP_TOTAL		(for adding large number of IP address test)
    171    The total number of IP address to add an interface.
    172    This value affect interface tests to add large number of IP address.
    173 
    174  o IP_TOTAL_FOR_TCPIP	(for multi IP address/alias test in icmp/udp/tcp)
    175    The total number of IP address to add an interface for TCP/IP testcases.
    176    This value affects udp/tcp multi-connection to the different IP
    177    address/alias testcases.
    178 
    179  o ROUTE_TOTAL		(for adding large number of route test)
    180    The total number of route to add an interface.
    181    This value affect interface tests to add large number of route.
    182 
    183  o MTU_CHANGE_TIMES	(for changing mtu test)
    184    The times of change the mtu value of an interface. The interval of
    185    changing mtu is 5 seconds. Therefore, mtu changing tests requires
    186    5 x MTU_CHANGE_TIMES [sec].
    187    This value affect interface tests of changing mtu.
    188 
    189  o IF_UPDOWN_TIMES	(for interface up/down test)
    190    The up/down times of the interface tests. To up/down an interface takes
    191    time. If you specify 10,000 into this value, it takes 6 hours.
    192    This value affect interface tests of upping/down the interface.
    193 
    194  o MCASTNUM_NORMAL	(for multicast tests)
    195    The number of multicast group to join. This variable is used for
    196    the stress test after joining some multicast groups. It is not the
    197    main target for joining lots of multicast.
    198 
    199  o MCASTNUM_HEAVY	(for multicast tests)
    200    The number of multicast group to join. This variable is used for
    201    the stress test for joining lots of multicast group. This value is the
    202    limit of the joining multicast group.
    203 
    204  o DOWNLOAD_BIGFILESIZE	(for http/ftp downloading stress test)
    205    The file size of the downloading large size file tests.
    206    This value affects ftp download and http tests.
    207 
    208  o DOWNLOAD_REGFILESIZE	(for http/ftp downloading stress test)
    209    The file size of the downloading file by many clients.
    210    This value affects ftp download and http tests.
    211 
    212  o UPLOAD_BIGFILESIZE	(for ftp uploading stress test)
    213    The file size of the uploading large size file tests.
    214    The server must have UPLOAD_BIGFILESIZE as free disk space.
    215    This value affects ftp upload tests.
    216 
    217  o UPLOAD_REGFILESIZE	(for ftp uploading stress test)
    218    The file size of the downloading file by many clients.
    219    The server must have UPLOAD_REGFILESIZE x CONNECTION_NUM as free disk space.
    220    This value affects ftp download and http tests.
    221 
    222 --- Mitsuru Chinen <mitch (a] jp.ibm.com>
    223