]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/ref/net-common-performance-test.html
RedBoot TX53 Release 2012-02-15
[karo-tx-redboot.git] / doc / html / ref / net-common-performance-test.html
1 <!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2 <!-- This material may be distributed only subject to the terms      -->
3 <!-- and conditions set forth in the Open Publication License, v1.0  -->
4 <!-- or later (the latest version is presently available at          -->
5 <!-- http://www.opencontent.org/openpub/).                           -->
6 <!-- Distribution of the work or derivative of the work in any       -->
7 <!-- standard (paper) book form is prohibited unless prior           -->
8 <!-- permission is obtained from the copyright holder.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >Performance Test</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos Reference Manual"
20 HREF="ecos-ref.html"><LINK
21 REL="UP"
22 TITLE="Tests and Demonstrations"
23 HREF="net-common-tests-and-demonstrations.html"><LINK
24 REL="PREVIOUS"
25 TITLE="Standalone Tests"
26 HREF="net-common-standalone-tests.html"><LINK
27 REL="NEXT"
28 TITLE="Interactive Tests"
29 HREF="net-common-interactive-tests.html"></HEAD
30 ><BODY
31 CLASS="SECT1"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >eCos Reference Manual</TH
50 ></TR
51 ><TR
52 ><TD
53 WIDTH="10%"
54 ALIGN="left"
55 VALIGN="bottom"
56 ><A
57 HREF="net-common-standalone-tests.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 >Chapter 36. Tests and Demonstrations</TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="net-common-interactive-tests.html"
72 ACCESSKEY="N"
73 >Next</A
74 ></TD
75 ></TR
76 ></TABLE
77 ><HR
78 ALIGN="LEFT"
79 WIDTH="100%"></DIV
80 ><DIV
81 CLASS="SECT1"
82 ><H1
83 CLASS="SECT1"
84 ><A
85 NAME="NET-COMMON-PERFORMANCE-TEST">Performance Test</H1
86 ><TABLE
87 BORDER="5"
88 BGCOLOR="#E0E0F0"
89 WIDTH="70%"
90 ><TR
91 ><TD
92 ><PRE
93 CLASS="PROGRAMLISTING"
94 ><SPAN
95 CLASS="emphasis"
96 ><I
97 CLASS="EMPHASIS"
98 >tcp_echo</I
99 ></SPAN
100 >      - data forwarding program for performance test</PRE
101 ></TD
102 ></TR
103 ></TABLE
104 ><P
105 ><B
106 CLASS="COMMAND"
107 >tcp_echo</B
108 > is one
109 part of the standard performance test we use.  The other parts are
110 host programs <TT
111 CLASS="LITERAL"
112 >tcp_source</TT
113 > and <TT
114 CLASS="LITERAL"
115 >tcp_sink</TT
116 >.
117  To make these (under LINUX) cd to the tests source directory in
118 the eCos repository and type &#8220;<TT
119 CLASS="LITERAL"
120 >make -f make.linux</TT
121 >&#8221; -
122 this should build <TT
123 CLASS="LITERAL"
124 >tcp_source</TT
125 > and <TT
126 CLASS="LITERAL"
127 >tcp_sink</TT
128 >.</P
129 ><P
130 >The LINUX program &#8220;<TT
131 CLASS="LITERAL"
132 >tcp_source</TT
133 >&#8221; sends
134 data to the target.  On the target, &#8220;<TT
135 CLASS="LITERAL"
136 >tcp_echo</TT
137 >&#8221; sends
138 it onwards to &#8220;<TT
139 CLASS="LITERAL"
140 >tcp_sink</TT
141 >&#8221; running
142 on LINUX.  So the target must receive and send on all the data that <TT
143 CLASS="LITERAL"
144 >tcp_source</TT
145 > sends
146 it; the time taken for this is measured and the data rate is calculated.</P
147 ><P
148 >To invoke the test, first start <TT
149 CLASS="LITERAL"
150 >tcp_echo</TT
151 > on
152 the target board and wait for it to become quiescent - it will report
153 work to calibrate a CPU load which can be used to simulate real
154 operating conditions for the stack.</P
155 ><P
156 >Then on your LINUX machine, in one terminal window, invoke <TT
157 CLASS="LITERAL"
158 >tcp_sink</TT
159 > giving
160 it the IP address (or hostname) of one interface of the target board.
161  For example &#8220;<TT
162 CLASS="LITERAL"
163 >tcp_sink 10.130.39.66</TT
164 >&#8221;.
165  <TT
166 CLASS="LITERAL"
167 >tcp_echo</TT
168 > on the target
169 will print something like &#8220;<TT
170 CLASS="LITERAL"
171 >SINK connection
172 from 10.130.39.13:1143</TT
173 >&#8221; when <TT
174 CLASS="LITERAL"
175 >tcp_sink</TT
176 > is
177 correctly invoked.</P
178 ><P
179 >Next, in another LINUX terminal window, invoke <TT
180 CLASS="LITERAL"
181 >tcp_source</TT
182 >,
183 giving it the IP address (or hostname) of an interface of the target
184 board, and optionally a background load to apply to the target while
185 the test runs.  For example, &#8220;<TT
186 CLASS="LITERAL"
187 >tcp_source
188 194.130.39.66</TT
189 >&#8221; to run the test with no
190 additional target CPU load, or &#8220;<TT
191 CLASS="LITERAL"
192 >tcp_source
193 194.130.39.66 85</TT
194 >&#8221; to load it up to 85% used.
195  The target load must be a multiple of 5.  <TT
196 CLASS="LITERAL"
197 >tcp_echo</TT
198 > on
199 the target will print something like &#8220;<TT
200 CLASS="LITERAL"
201 >SOURCE
202 connection from 194.130.39.13:1144</TT
203 >&#8221; when
204 tcp_source is correctly invoked.</P
205 ><P
206 >You can connect tcp_sink to one target interface
207 and tcp_source to another, or both to the same interface.
208  Similarly, you can run <TT
209 CLASS="LITERAL"
210 >tcp_sink</TT
211 > and <TT
212 CLASS="LITERAL"
213 >tcp_source</TT
214 > on
215 the same LINUX machine or different ones.  TCP/IP and ARP
216 look after them finding one another, as intended.</P
217 ><TABLE
218 BORDER="5"
219 BGCOLOR="#E0E0F0"
220 WIDTH="70%"
221 ><TR
222 ><TD
223 ><PRE
224 CLASS="PROGRAMLISTING"
225 ><SPAN
226 CLASS="emphasis"
227 ><I
228 CLASS="EMPHASIS"
229 >nc_test_master</I
230 ></SPAN
231 > - network characterization master
232 <SPAN
233 CLASS="emphasis"
234 ><I
235 CLASS="EMPHASIS"
236 >nc_test_slave</I
237 ></SPAN
238 > - network characterization slave</PRE
239 ></TD
240 ></TR
241 ></TABLE
242 ><P
243 >These tests talk to each other to measure network performance.
244 They can each run on either a test target or a LINUX host computer
245 given some customization to your local environment. As provided, <TT
246 CLASS="LITERAL"
247 >nc_test_slave</TT
248 > must
249 run on the test target, and <TT
250 CLASS="LITERAL"
251 >nc_test_master</TT
252 > must
253 be run on a LINUX host, and be given the test target's
254 IP address or hostname.</P
255 ><P
256 >The tests print network performance for various packet sizes
257 over UDP and TCP, versus various additional CPU loads on the target.</P
258 ><P
259 >The programs <TABLE
260 BORDER="5"
261 BGCOLOR="#E0E0F0"
262 WIDTH="70%"
263 ><TR
264 ><TD
265 ><PRE
266 CLASS="PROGRAMLISTING"
267 ><SPAN
268 CLASS="emphasis"
269 ><I
270 CLASS="EMPHASIS"
271 >nc6_test_slave</I
272 ></SPAN
273 >
274 <SPAN
275 CLASS="emphasis"
276 ><I
277 CLASS="EMPHASIS"
278 >nc6_test_master</I
279 ></SPAN
280 ></PRE
281 ></TD
282 ></TR
283 ></TABLE
284 >
285 are additional forms which support both IPv4 and IPv6 addressing.</P
286 ></DIV
287 ><DIV
288 CLASS="NAVFOOTER"
289 ><HR
290 ALIGN="LEFT"
291 WIDTH="100%"><TABLE
292 SUMMARY="Footer navigation table"
293 WIDTH="100%"
294 BORDER="0"
295 CELLPADDING="0"
296 CELLSPACING="0"
297 ><TR
298 ><TD
299 WIDTH="33%"
300 ALIGN="left"
301 VALIGN="top"
302 ><A
303 HREF="net-common-standalone-tests.html"
304 ACCESSKEY="P"
305 >Prev</A
306 ></TD
307 ><TD
308 WIDTH="34%"
309 ALIGN="center"
310 VALIGN="top"
311 ><A
312 HREF="ecos-ref.html"
313 ACCESSKEY="H"
314 >Home</A
315 ></TD
316 ><TD
317 WIDTH="33%"
318 ALIGN="right"
319 VALIGN="top"
320 ><A
321 HREF="net-common-interactive-tests.html"
322 ACCESSKEY="N"
323 >Next</A
324 ></TD
325 ></TR
326 ><TR
327 ><TD
328 WIDTH="33%"
329 ALIGN="left"
330 VALIGN="top"
331 >Standalone Tests</TD
332 ><TD
333 WIDTH="34%"
334 ALIGN="center"
335 VALIGN="top"
336 ><A
337 HREF="net-common-tests-and-demonstrations.html"
338 ACCESSKEY="U"
339 >Up</A
340 ></TD
341 ><TD
342 WIDTH="33%"
343 ALIGN="right"
344 VALIGN="top"
345 >Interactive Tests</TD
346 ></TR
347 ></TABLE
348 ></DIV
349 ></BODY
350 ></HTML
351 >