Benchmarking Netlet Performance with
SLAMD
This document has been written with assumption that the reader is
familiar with the slamd load testing tool.
slamd tool
The attached zip file contains the slamd job for load testing netlet
application. netlet.zip contains the following
1. libraries required to implement any netlet client application
2. slamd job class source code
3. Sample echo server implementation
4. Sample netlet echo client implementation
Deploying the Netlet slamd job
1. Extract the netlet.zip contents to the slamd client and
the server classes directory
2. Load the new job class using the slamd admin console
Starting the sample echo server
java -classpath .:netlet.zip com.sunportal.performance EchoServer
bind-host bind-port threadpool-size block-size(block size of the data
being
transferred.)
slamd job configuration
job class : com.sun.portal.performance.NetletThroughputJobClass
Netlet Client Application Implementation class :
com.sun.portal.performance.NetletEchoClient
Sample Echo Client Implementation
Successful Login Display Title: Sun Java System Identity Server (login)
(For 6.2 it has to be Sun ONE Identity Server)
Netlet Application Server Host: Echo Server Host Name
Netlet Application Server Port : Echo Server Port Number
Use the Minimum/Maximum Request Interval for controlling the think
times.
Netlet Application Cipher : SSL_RSA_WITH_RC4_128_MD5
If you want to use a different cipher you can provide any valid jsse
cipher name,
Threads per Client : 100
If you want to increase the number of threads you need to make sure
that the SRA Thread Pool has been tuned properly in the Gateway Admin
console.
Every netlet client would require two threads to run and they open a
persistent connection to the destination server.
If you want to run a test with 100 threads (clients) the SRA Thread
Pool Parameter should be be 2*Threads per Client +Threads per Client+50
Note:-
6.2 has a bug that prevents one from running load tests on Netlet using
this slamd job.
If anyone wants to run tests on 6.2, I can point them to the right
gateway.jar
Implementing your own netlet client application
netlet.zip contains sample implementation of NetletEchoClient. If one
wants to load test application like citrix of ftp, the following needs
to be done.
1. Implement your own client class by extending the abstract class
com.sun.portal.performance.NetletClientApp
2. After initializing on the data to be transferred
call the following methods
init();
System.arraycopy(data, 0, wb, 0, BLOCK_SIZE);
//variable data contains the data to be sent over to
the Netlet
Application
wdMsg.setDataByRef(wb, BLOCK_SIZE);
3. Implement the processNetletApplicationData(Socket s)
In this method one has handle the socket read/write
functions
NetletEchoClient.java has the sample echo client
implementation and
it should be straight forward to extend this to other applications like
citrix.
4. Configure the slamd job parameter Netlet Client Application
Implementation class to the newly implemented class.