222 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			222 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
 | |
| NOTE:
 | |
| 
 | |
| Physical Topology
 | |
| =================
 | |
| 
 | |
| These tests require two machines. And each machine needs to have 2 or more
 | |
| interfaces. These tests assume that they run on the following topology.
 | |
| 
 | |
|                               Control Link
 | |
|                 +------------------------------------+
 | |
|                 |                                    |
 | |
|         +-------+-------+                    +-------+-------+
 | |
|         |               +---- Test Link 0 ---+               |
 | |
|         |  Local Host   +          :         +  Remote Host  |
 | |
|         |               +---- Test Link n ---+               |
 | |
|         +---------------+                    +---------------+
 | |
| 
 | |
| Control Link is used by the local host to control the remote host.
 | |
| `control' means, for example, changing the setting of the interfaces that are
 | |
| connected to the test links. The setting of the interfaces connected to the
 | |
| control link is never changed.
 | |
| 
 | |
| Test Links are the place where the stress tests run. For example, test packets
 | |
| flow those links. The number of test links must be at least 1. The setting of
 | |
| the interfaces connected to the test links would be changed by the tests.
 | |
| Therefore, each test link should not belong to any external network. It is
 | |
| recommended to connect each pair of interfaces with the ether cross cables.
 | |
| 
 | |
| Currently, different NIC testcases for ICMP/UDP/TCP/Multicast require plural
 | |
| test links.  Other testcases uses only 1 test link. (Test Link 0)
 | |
| 
 | |
| 
 | |
| 
 | |
| Installation
 | |
| ============
 | |
| 
 | |
| Like the other network tests, the remote host must have the LTP installed
 | |
| in the same exact location as the local host have. Please refer the `Detailed
 | |
| Installation 5.' section in INSTALL.
 | |
| 
 | |
| 
 | |
| 
 | |
| Execution
 | |
| =========
 | |
| 
 | |
| To run the network stress testcases, use network.sh script, located in
 | |
| testscripts directory. For documentation about using network.sh see INSTALL
 | |
| and testcases/network/README.md
 | |
| 
 | |
| Some stress tests originally designed to be tested with rsh for accessing
 | |
| remote host are now using ssh using the current user. Old behavior (using rsh
 | |
| can be achieved with setting LTP_RSH variable).
 | |
| 
 | |
| The behaviour of network stress tests is configurable with environment
 | |
| variables (See `Environment Variable' section).
 | |
| 
 | |
| 
 | |
| Attention for HTTP/FTP stress tests
 | |
| ===================================
 | |
| 
 | |
| When you run http or ftp stress tests, you have to start http or ftp server
 | |
| before running the tests.
 | |
| About ssh and dns tests, you don't need to run the ssh or dns server.  Each
 | |
| test runs named or sshd automatically.
 | |
| 
 | |
| Those tests requires that the remote host has `curl' command in order to
 | |
| upload/download files to/from the local host.
 | |
| 
 | |
| When you run the ftp upload tests, please make sure the local host have
 | |
| enough disk space to upload somes files. The size of file is able to
 | |
| specify the environment variable (See `Environment Variable' section).
 | |
| 
 | |
| 
 | |
| Environment Variable
 | |
| ====================
 | |
| 
 | |
| The nestwork stress testcases require the following environment variables:
 | |
| 
 | |
|   RHOST
 | |
|   LHOST_HWADDRS
 | |
|   RHOST_HWADDRS
 | |
|   HTTP_DOWNLOAD_DIR	(for http stress test)
 | |
|   FTP_DOWNLOAD_DIR	(for ftp stress test)
 | |
|   FTP_UPLOAD_DIR	(for ftp stress test)
 | |
|   FTP_UPLOAD_URLDIR	(for ftp stress test)
 | |
| 
 | |
| You are able to configure the behavior of the testcases with the following
 | |
| environment variables:
 | |
| 
 | |
|   LTP_RSH
 | |
|   NS_DURATION		(for the continual test)
 | |
|   NS_TIMES		(for the repetition test)
 | |
|   CONNECTION_TOTAL	(for creating a large number of connection test)
 | |
|   IP_TOTAL		(for adding large number of IP address test)
 | |
|   IP_TOTAL_FOR_TCPIP	(for multi IP address/alias test in icmp/udp/tcp)
 | |
|   ROUTE_TOTAL		(for adding large number of route test)
 | |
|   MTU_CHANGE_TIMES	(for changing mtu test)
 | |
|   IF_UPDOWN_TIMES	(for interface up/down test)
 | |
|   MCASTNUM_NORMAL	(for multicast test)
 | |
|   MCASTNUM_HEAVY	(for multicast test)
 | |
|   DOWNLOAD_BIGFILESIZE	(for http/ftp downloading stress test)
 | |
|   DOWNLOAD_REGFILESIZE	(for http/ftp downloading stress test)
 | |
|   UPLOAD_BIGFILESIZE	(for ftp uploading stress test)
 | |
|   UPLOAD_REGFILESIZE	(for ftp uploading stress test)
 | |
| 
 | |
| In these value, NS_DURATION is important if you'd like to reduce the test time.
 | |
| 
 | |
| Required environment variables
 | |
| ------------------------------
 | |
| 
 | |
|  o RHOST
 | |
|    The host name of the remote host to access it via the control link.
 | |
| 
 | |
|  o LHOST_HWADDRS
 | |
|    The blank-separated hardware address list of the interfaces which are
 | |
|    connected to a test link at the local host.
 | |
|    This value have to have at least one address. The sequence of the hardware
 | |
|    address have to be same to the test link sequence.
 | |
| 
 | |
|  o RHOST_HWADDRS
 | |
|    The blank-separated hardware address list of the interfaces which are
 | |
|    connected to a test link at the remote host.
 | |
|    This value have to have at least one address. The sequence of the hardware
 | |
|    address have to be same to the test link sequence.
 | |
| 
 | |
|  o HTTP_DOWNLOAD_DIR (for http stress test)
 | |
|    The directory out of which the http server will serve the documents.
 | |
|    In the apache case, the value of this variable is same as DocumentRoot
 | |
|    value in httpd.conf
 | |
| 
 | |
|  o FTP_DOWNLOAD_DIR (for ftp stress test)
 | |
|    The directory out of which the ftp server will serve the files.
 | |
| 
 | |
|  o FTP_UPLOAD_DIR (for ftp stress test)
 | |
|    The directory which the ftp server will store the uploaded files.
 | |
| 
 | |
|  o FTP_UPLOAD_URLDIR (for ftp stress test)
 | |
|    The directory part of URL where the client specifys to upload.
 | |
|    Namely, when the URL to upload is ftp://ltp.sourceforge.net/upload ,
 | |
|    /upload is the value to set the environment variable.
 | |
| 
 | |
| 
 | |
| Optional environment variables
 | |
| ------------------------------
 | |
| 
 | |
|  o LTP_RSH
 | |
|    The name of the remote shell command, namely ssh (the default) or rsh.
 | |
|    In ether case, the remote host must accept the login from the local host
 | |
|    without password.
 | |
| 
 | |
|  o NS_DURATION (for the continual test)
 | |
|    The duration of the continual test. The time unit is `second'.
 | |
|    This variable affects all icmp/tcp/udp tests. The number of the testcase
 | |
|    in them is big. Therefore, the test time is reduced when you set small
 | |
|    value to the this variable.
 | |
|    Except icmp/tcp/udp tests, this variable affects ssh, ftp and http tests.
 | |
| 
 | |
|  o NS_TIMES (for the repetition test)
 | |
|    The number of repetition times for the repetition tests.
 | |
|    This value affects IP adress add/del testcase, IP address change testcase
 | |
|    route add/del testcase and dns query tests.
 | |
| 
 | |
|  o CONNECTION_TOTAL (for creating a large number of connection test)
 | |
|    The total number of connection when the testcase requires plural connection.
 | |
|    This value affects udp/tcp multi-connection to the same/different port
 | |
|    testcases, ftp and http testcases.
 | |
| 
 | |
|  o IP_TOTAL		(for adding large number of IP address test)
 | |
|    The total number of IP address to add an interface.
 | |
|    This value affect interface tests to add large number of IP address.
 | |
| 
 | |
|  o IP_TOTAL_FOR_TCPIP	(for multi IP address/alias test in icmp/udp/tcp)
 | |
|    The total number of IP address to add an interface for TCP/IP testcases.
 | |
|    This value affects udp/tcp multi-connection to the different IP
 | |
|    address/alias testcases.
 | |
| 
 | |
|  o ROUTE_TOTAL		(for adding large number of route test)
 | |
|    The total number of route to add an interface.
 | |
|    This value affect interface tests to add large number of route.
 | |
| 
 | |
|  o MTU_CHANGE_TIMES	(for changing mtu test)
 | |
|    The times of change the mtu value of an interface. The interval of
 | |
|    changing mtu is 5 seconds. Therefore, mtu changing tests requires
 | |
|    5 x MTU_CHANGE_TIMES [sec].
 | |
|    This value affect interface tests of changing mtu.
 | |
| 
 | |
|  o IF_UPDOWN_TIMES	(for interface up/down test)
 | |
|    The up/down times of the interface tests. To up/down an interface takes
 | |
|    time. If you specify 10,000 into this value, it takes 6 hours.
 | |
|    This value affect interface tests of upping/down the interface.
 | |
| 
 | |
|  o MCASTNUM_NORMAL	(for multicast tests)
 | |
|    The number of multicast group to join. This variable is used for
 | |
|    the stress test after joining some multicast groups. It is not the
 | |
|    main target for joining lots of multicast.
 | |
| 
 | |
|  o MCASTNUM_HEAVY	(for multicast tests)
 | |
|    The number of multicast group to join. This variable is used for
 | |
|    the stress test for joining lots of multicast group. This value is the
 | |
|    limit of the joining multicast group.
 | |
| 
 | |
|  o DOWNLOAD_BIGFILESIZE	(for http/ftp downloading stress test)
 | |
|    The file size of the downloading large size file tests.
 | |
|    This value affects ftp download and http tests.
 | |
| 
 | |
|  o DOWNLOAD_REGFILESIZE	(for http/ftp downloading stress test)
 | |
|    The file size of the downloading file by many clients.
 | |
|    This value affects ftp download and http tests.
 | |
| 
 | |
|  o UPLOAD_BIGFILESIZE	(for ftp uploading stress test)
 | |
|    The file size of the uploading large size file tests.
 | |
|    The server must have UPLOAD_BIGFILESIZE as free disk space.
 | |
|    This value affects ftp upload tests.
 | |
| 
 | |
|  o UPLOAD_REGFILESIZE	(for ftp uploading stress test)
 | |
|    The file size of the downloading file by many clients.
 | |
|    The server must have UPLOAD_REGFILESIZE x CONNECTION_NUM as free disk space.
 | |
|    This value affects ftp download and http tests.
 | |
| 
 | |
| --- Mitsuru Chinen <mitch@jp.ibm.com>
 |