summaryrefslogtreecommitdiff
path: root/TAO/tests/Stack_Recursion/README
blob: e0434613745575fd2745c6b7aa6a20a27e14a7f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**

@page Stack_Recursion Test README File



Begin Comment added August 14, 2007 <wilsond@ociweb.com>
The original README starts below.

The name of this test is misleading.  See the bugzilla entry below for a
historical justification of the name.

It is a test of the throughput for replies to a clients CORBA requests.

The client starts 8 tasks (aka threads.) Each task calls the ping method
100 times.  Ping is a nop method on the server.  Presumably sending these
pings opens one or more connections to the server. The actual number of
connections varies from test run to test run.

After that the client calls the get_data method 1000 times.  Each call
returns a sequence of octets containing 1048576 bytes (1Mb).  The test
succeeds if these replys are received by the client in 960 seconds
(16 minutes).

A successful test executes 8800 CORBA calls in 16 minutes  (550 calls a
minute = 9+ calls/second) and returns 8000 megabytes (500 megabytes/minute
= 8.3 megabytes/second) via a local host connection.

A typical failure for this test is a client timeout at the end of 16 minutes.
This can happen if the test system is too slow or heavily loaded to handle
this much data (including the necessary mallocs & frees (16M per call), or
if there is a significant bottleneck or hang in the ORB.  Because the test
is sensitive to other loads on the test system, the results will be intermittent.

8 tasks is hardcoded in client.cpp
100 pings is hardcoded in Client_Task.cpp
1000 calls to get_data is hardcoded in client.cpp
1Mb per get_data call is hardcoded in client.cpp.
960 seconds is hard coded in run_test.pl

End Comment added August 14, 2007 <wilsond@ociweb.com>


      A stress test for the stack recursion outlined in the bugzilla
under id 1125. Here is the link for the bug

http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1125

This test is designed to show the bug. The test has a server running 4
threads and clients running 16 threads requesting around 30 MB of
data.

@@NOTE: Once the bug is fixed we may have to change the timings in the
test so that the test can run to completion.

	To run the test use the run_test.pl script:

$ ./run_test.pl

	the script returns 0 if the test was successful.

*/