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