summaryrefslogtreecommitdiff
path: root/TAO/performance-tests/Latency/README
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