At JProxy we realize that performance is of a great importance to Solutions that must haul around large
amounts of data traffic between its distributed components.
We have run several performance measurement tests with JProxy where data is delivered via HTTP tunnel
and without JProxy where data is transmitted via plain sockets. The tests were run in the
hardware/software setup that we believe is a common deploying environment for Internet Solutions.
The results are published in the table and
the graph at the bottom of this page.
In order to run these tests we've used JProxy Performance Sample,
which you're always welcome to run for yourself.
Server host is a Pendium 4 PC Server, 1.5 Ghz CPU clock with 515 Mb of RAM.
Client host is a Pentium 4 PC, 1 MHz CPU clock, with 512 Mb of RAM.
Server host is running Suse Linux as OS,
JBoss Application Server 2.4.1 with JProxy 1.0.4 server as Application Server
Client host is running Microsoft Windows 2000 Professional as OS,
Internet Explorer 5.0 as Web Browser
The network throughput is Ethernet 100 Mbps
The idea of the tests was to time a full round request with a preset amount of data submited from JProxy client
to JProxy server and in turn JProxy server returning the same amout of data to the client.
Every test had a repeat count of 100 loops.
The first test was to see the performance of JProxy machinery, by initiating a request/response with no data sent.
Sequentually, we have increased the amount of data sent over the wire to 1KB, 10KB, 100KB, 1MB. So each of these
test have transmited double the amount of data enumerated above - in request from JProxy client to JProxy server
and then in a response from JProxy server back to JProxy client.
The following graph depicts the results of these tests. Click at the graph to see full size image.
This is a table form of the results that are depicted in the graph above
|
# of bytes sent per request
|
Time (sec) for 1 round call (JProxy)
|
Time (sec) for 100 round calls (JProxy)
|
Time (sec) per 1 round call (Plain Sockets)
|
Time (sec) per 100 round calls (Plain Sockets)
|
|
0
|
0.01622
|
1.622
|
0.00491
|
0.491
|
|
2 KB
|
0.01732
|
1.732
|
0.0057099997
|
0.571
|
|
20 KB
|
0.02243
|
2.243
|
0.01202
|
1.202
|
|
200 KB
|
0.04927
|
4.927
|
0.78383005
|
8.312
|
|
2 MB
|
0.78383005
|
78.383
|
0.64293
|
64.293
|
|
|