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.


Back to Menu