sim.pl

Allan Kelly : sim.pl

sim.pl Application Server Load Simulation

This perl program was used to demonstrate the dynamics of Application Server thread usage under various configurations.

The software consists of a number of modules:

  • Transaction profiler
  • WLS class
  • sim.pl program
  • GUI (OK, I've not done this yet...)

The graph below shows the same load profile applied to server sets with 3, 6, 12 and 18 threads per server. Each set has the same number of threads in total. We can see that the vulnerability of individual servers to long-running transaction saturation means that the 12 thread set is much better able to serve this load.

I'll put more detail here when I can. Meantime here is the software.

And here is the output from sim.pl -h


    sim.pl by allankelly@if.com

    This is an application server simulator. It's purpose is to examine the
    dynamic behaviour of a group of servers under some load profile. The
    individual servers are instances of IF::model::WLS - see that module for
    details of the server mechanics.

    Options

    Note that it is possible to specify S (or s), T and n. However, you will
    only ever want to specify 2 of these depending on what you're investigating.

    For example, to investigate the effects of distributing a number of threads
    over different numbers of servers, you might specify T with a variety of n,
    or T with a variety of S. On the other hand, to run a number of servers
    simultaneously with different numbers of threads, specify s as a list of
    per-server threads.

    s   list of Server Threads eg 3,6,12 for 3 servers with 3, 6 and 12 threads
    S   a single number for a uniform Server threads setting
    T   total Threads == Number of servers * threads per server
    n   number of Servers
    l   average total Load per second
    t   run time (seconds)
    r   report type, default is 'brief'.
    A   print load Averages following server report
    R   Round-robin transaction load. Default is random.
    i   Interactive: Pause between iterations for 'real time' display
    f   output to filename
    d   Debug: Print lots of internal detail
    h   Display help and exit

    The report type (-r) option is key. Here are some examples:

    sim.pl -t 60 -l 5 -r brief -S 12 -n 4

                  

   
Last Updated
Mon Jun 28 22:00:05 2010