blob: ff4c6be17358303a4780bfafdfb607e240669a1b (
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# $Id$
Description:
This is a simple latency test, single threaded and
multi-threaded clients and servers are included.
= Thread pool test:
The server runs using a thread pool reactor, the client
creates several threads that send requests to the server and record
latency and throughput statistics.
Command line options on the client and server can be used to
control the number of threads in the server and the client, the
amount work performed on each request, the number of requests per
thread, etc.
- Expected output:
The server prints out the IOR of the object it serves. The
client prints the results on a per-thread basis as well as the
aggregated numbers.
- How to run:
You can use the run_test.pl script to run it or:
$ server -ORBSvcConf server.conf -n 2
$ client -ORBSvcConf client.conf -n 4 -i 1000
= Single threaded test:
The server uses a regular (but lock-free) reactor, the client
uses a single thread to issue all the requests; since no extra
threads are created all the locks can be disabled, minimizing
latency.
- Expected output:
As in the multi-threaded test, the client only prints the
results for its single thread.
- How to run:
You can use the run_test.pl script or:
$ st_server -ORBSvcConf st_server.conf
$ st_client -ORBSvcConf st_client.conf -i 1000
= AMI Latency Test:
$ server -o ior_file \
-ORBSvcConf server.conf
$ ami-latency-client -k file://ior_file -i 1000 \
-ORBSvcConf client-st-muxed.conf
= AMI Throughput Test:
$ server -o ior_file -ORBEndpoint iiop://localhost:port \
-ORBSvcConf server.conf
$ ami-throughput-client -s -k file://ior_file -i 1000 \
-ORBSvcConf client-st-muxed.conf \
-ORBPreconnect iiop://localhost:port
= Deferred Synchronous Test:
The server uses a regular (but lock-free) reactor. The
client uses a single thread to create DII requests and
send them without blocking on the reply (deferred synchronous).
After all the requests have been sent, the client gets the
response for each request in turn (blocking if it has not yet
arrived) and extracts the return value.
- Expected output:
As in the multi-threaded test, the client only prints the
results for its single thread. The time to prepare the DII request
is sampled for each iteration and stats are output in the same
format as for the other tests in this directory. Then the total
time is measured to prepare and send all requests as well as
the total time for the entire rounctrip process. Since only one
sample is taken for these last two meaurements, the "latency"
output is merely the reciprocal of the throughput.
- How to run:
You can use the run_test.pl script or:
$ st_server -ORBSvcConf st_server.conf
$ deferred_synch_client -ORBSvcConf client-st-muxed.conf \
-i 1000
|