Test Results
This section lists the results of various runs of the example, sorted in reverse chronological order.
10/16/2008
SGS 0.9.7.1, single
Host configuration Java File system DB SGS version SGS configuration
dstar1X-5-2008 1.6.0_06 UFS BDB 4.5.20 0.9.7.1 Single node
Clients Sent Received Backlog Throughput Server CPU
200 980 3600 0 3000 41%
300 1500 7100 0 4400 65%
400 2000 11000 0 6000 89%
500 1900 13000 7 5500 78%
SGS 0.9.7.1, one multi-node
Host configuration Java File system DB SGS version SGS configuration
dstar1X-5-2008 1.6.0_06 UFS BDB 4.5.20 0.9.7.1 One multi-node
Clients Sent Received Backlog Throughput Core Server CPU App Server CPU
100 490 1300 0 1500 13% 27%
150 730 2400 0 2200 21% 40%
200 940 3400 7 2900 26% 51%
250 920 3900 8 2800 27% 49%
SGS 0.9.7.1, one multi-node, 16 threads
This run specified the following configuration option in the RequestApp.properties file:
com.sun.sgs.impl.kernel.task.threads=16
Host configuration Java File system DB SGS version SGS configuration
dstar1X-5-2008 1.6.0_06 UFS BDB 4.5.20 0.9.7.1 One multi-node, 16 task threads
Clients Sent Received Backlog Throughput Core Server CPU App Server CPU
100 490 1300 0 1500 13% 29%
150 730 2600 0 2200 20% 43%
200 910 3200 7 2800 26% 53%
250 890 3800 8 2700 26% 53%
SGS 0.9.7.1, one multi-node, 16 threads, no RMI
This run specified the following configuration option in the RequestApp.properties file:
com.sun.sgs.impl.kernel.task.threads=16
It was also run with the following command line option on the server nodes:
-Drun.jvm.args.profile=-Dcom.sun.sgs.impl.service.data.store.net.no.rmi=true
Host configuration Java File system DB SGS version SGS configuration
dstar1X-5-2008 1.6.0_06 UFS BDB 4.5.20 0.9.7.1 One multi-node, 16 task threads, no RMI
Clients Sent Received Backlog Throughput Core Server CPU App Server CPU
200 980 3800 0 3000 18% 46%
250 1100 4800 8 3400 23% 53%
300 1100 5400 8 3400 23% 54%
tjb rev 5009, one multi-node, 16 threads, no RMI
This run specified the following configuration option in the RequestApp.properties file:
com.sun.sgs.impl.kernel.task.threads=16
It was also run with the following command line option on the server nodes:
-Drun.jvm.args.profile=-Dcom.sun.sgs.impl.service.data.store.net.no.rmi=true
Host configuration Java File system DB SGS version SGS configuration
dstar1X-5-2008 1.6.0_06 UFS BDB 4.5.20 branch tjb, revision 5009 One multi-node, 16 task threads, no RMI
Clients Sent Received Backlog Throughput Core Server CPU App Server CPU
200 980 3600 0 3900 17% 45%
250 1200 5000 6 4800 22% 54%
300 1200 5600 8 4700 23% 56%
Machine Configurations
This section lists the hardware and operating configurations of the machines used for testing. The names are intended to capture which set of machines were configured this way at a particular time, to cover the case that the machines are reconfigured. The per-test configuration information doesn't need to identify the exact machines used, just how the machines were configured.
dstar1X05-2008
Machine type: Sunblade 6220
Processors: 2 dual-core AMD Opteron 2200, 2.8 GHz
Memory: 16 GB
Operating system: Solaris 10 8/07
Testing Directions
The Wanderer example has both client and server portions. The test is run with all clients running within a single VM on one machine. The application is either run in single-node mode on another machine, or in multi-node mode with the core server and some number of application nodes each running on separate machines.
Client command line
mvn process-test-resources \
-Ptest-run \
-Dsgs.version=sgs-version \
-Dwanderer.host=server-host \
-Dwanderer.clients=num-clients
Single-node server command line
mvn process-test-resources \
-Psingle-node-server \
-Dsgs.version=sgs-version \
-Ddatastore.dir=local-directory
Multi-node core server command line
mvn process-test-resources \
-Pmulti-node-server-core \
-Dsgs.version=sgs-version \
-Ddatastore.dir=local-directory
Multi-node application node command line
mvn process-test-resources \
-Pmulti-node-server-app \
-Dsgs.version=sgs-version \
-Dcom.sun.sgs.server.host=core-server-host
Configuration
Make sure to install the version of the sgs and sgs-client project that you are testing against.
Make sure to package the request project prior to running any of the command lines.
You can set the JAVA_HOME environment variable to control which version of Java gets used.
To characterize the performance of the system, start the server, and run the client with different numbers of clients for a few minutes. The results for a particular number of clients are valid at the point that the values of "sent/sec" and "rcv/sec" stabilize on the client side. On the server side, the "mean throughput" value should stabilize.
Then, determine the largest number of clients that can be run with the "backlog" number of the client side staying at zero. That number of clients represents the current performance of the system as a whole for this example.
You can use the Solaris /usr/bin/prstat command to get the CPU usage.
Using different databases
Include bdb-java in the value of the -P option to use BDB Java Edition (JE). For example:
-Psingle-node-server,bdb-java
To use different versions of BDB or JE, you need to install them in the local Maven repository:
mvn install:install-file \
-DgroupId=com.projectdarkstar.ext.berkeleydb \
-DartifactId=je \
-Dpackaging=jar \
-DgeneratePom=true \
-Dfile=je-jar-file \
-Dversion=je-version
mvn install:install-file \
-DgroupId=com.projectdarkstar.ext.berkeleydb \
-DartifactId=je \
-Dpackaging=jar \
-DgeneratePom=true \
-Dfile=je-jar-file \
-Dversion=je-version
mvn install:install-file \
-DgroupId=com.projectdarkstar.ext.berkeleydb \
-DartifactId=je \
-Dpackaging=jar \
-DgeneratePom=true \
-Dfile=je-jar-file \
-Dversion=je-version
Collecting Configuration Information
This section describes how to collect the configuration information included for each test.
To get Solaris version:
cat /etc/release
To get Solaris hardware info:
prtdiag
prtconf
psrinfo -v
To get Solaris file system info:
df -n
To get Java version:
java -version
不主动、不拒绝、不负责任!
One Small Step for BSD.
One Giant Step for PCs
