Beranda · · · ·

New Little's Law - Verify Performance Test Results By Patricbensen

Here is something I often use (and need to lookup) when I'm analyzing performance test reports.
Most of the time, these reports are nothing but nebulous and I have no choice but to go back to the basics.
Professor John D.C. Little

Here's the simple procedure I use to verify the sanity of the test:

Run a step load test. Get the following data from your load testing tool (averaged) per step:
1. Transactions per second

2. Hits per second
3. Think time
4. Response time

5. Number of virtual users being simulated.
6. Throughput (bytes)

Here's where the math starts:

Using Little's Law, you then then deduce the following:
Actual Number of Users in the System = (Response time + Think time) * Transactions per second

You can also verify the page size:
Page size = Throughput / Hits per second


You can tell if there is something wrong with your test bed If the actual number of users in the system given by Little's Law is different from the number of virtual users being pumped in by your load testing tool. i.e. if the number of users simulated by the testing tool is more than what you deduce by Little's Law, your system is probably just queuing those extra users. You'll also notice your response time will start to 'knee' once this starts to happen.

The main thing here is to do this calculation for an average of all points data points per step change in number of virtual users simulated.

New Change CVS default port on Solaris 10 By Patricbensen

Changing the default port (2401) of CVS on Solaris 10 is real easy.

1. Edit your /etc/services file
Change the following line:
cvspserver 2401/tcp #cvs pserver
to
cvspserver {new port}/tcp #cvs pserver

2. Execute the following commands:
# svcadm disable svc:/network/cvspserver/tcp:default
# svcadm enable svc:/network/cvspserver/tcp:default

and you're done!

Find out how to http://patricbensen.blogspot.com /2008/09/install-and-configure-cvs-on-solaris-10.html">install and configure CVS for Solaris 10 here.

New WebSphere Process Server / Portal Server with Oracle RAC By Patricbensen

If you're thinking that you'll get out-of-the-box Oracle RAC support for an IBM WebSphere Process Server or Portal Server installlation, you're sadly mistaken.

All the scripts that are generated by the installation process (for the oracle database) are for a standalone installation and will fail or make your DBA very angry if they are run on one of the RAC nodes!

Well, there's a way out, but you'd have to edit the scripts that these monstrous products generate.

For example:
You'll find a line like this in Portal server scripts:

create tablespace ICMLFQ32 datafile '/oracle/tb/ICMLFQ32_01.dbf' size 300M reuse autoextend on next 10M maxsize UNLIMITED extent management local autoallocate;

you'll have to change it to :

create tablespace ICMLFQ32 datafile size 300M autoextend on next 10M maxsize UNLIMITED extent management local autoallocate;

i.e. remove the location of the datafile specified.

There's another thing that you'd need to do if your using Oracle RAC as the datastore for WebSphere Process and WebSphere Portal Servers... change your JDBC string.

I got this tip from the an IBM developerworks article on Oracle RAC with Process Server

Change your datasource from:

jdbc:oracle:thin:@{hostname}:{port number}:{DBName}


to:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST= myoraclehost1.ibm.com)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST= myoraclehost2.ibm.com)(PORT=1521))
(FAILOVER=on)(LOAD_BALANCE=on)
(CONNECT_DATA=(SERVER=DEDICATED)
(SERVICE_NAME=dbservice)))

I should be posting more gotchas with the IBM stack .... check the 'IBM' tags