Friday, April 16, 2010

OpenSTA - Getting Started

Hi, I've created this blog for all those who are looking for OpenSTA references.

Open System Testing Architecture - OpenSTA is a distributed software testing architecture designed around CORBA. The current toolset has the capability of performing scripted Web (HTTP and HTTPS) heavy load tests with performance measurements from Win32 platforms. Scripts are recorded in a proprietary language called "SCL". It is a fairly simple coding language that provides support for custom functions, variable scopes, and random or sequential lists.

Results and statistics are collected during test runs by a variety of automatic and user controlled mechanisms. These can include scripted timers, SNMP data, Windows Performance Monitor stats and HTTP results & timings. Much of the data logged can be monitored live during the test runs; once test runs are complete, logs can be viewed, graphed, filtered and exported for use by more sophisticated report generation software.

Errors & Work arounds

ERROR 10048:

(Only one usage of each socket address (protocol/network address/port) is normally permitted. )

Reason:

This error occurs when your injector cannot allocate new sockets. In Windows the default limitation is 5000. 5000 being the max user port available out of which the first 1024 open sockets which are reserved ports.

Workaround 1 :

 
Increase the default maximum socket value in the registry:
 

Go To -> Regedit -> HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> Tcpip -> Parameters -> create/edit DWord value
 
MaxUserPort

Set the value as “fffe” (hexadecimal)

TCPTimeWaitDelay

Change the value to “1e” (hexadecimal)

 

Workaround 2:

Another workaround for the above ERROR 10048 is to add the following parameters in TExecuter_Web.ini configuration file:

OpenSTA -> installed path -> engines -> TestExecuter_web -> Add the below parameters below the section [SOCKET] to obtain unique port (i.e. to handle the error code 10048):

Linger=0

ReuseAddr=1

Timeout=360000

Setting the Linger option to 0 (possible values are 0 or 1) means that the sockets will be closed immediately. Normally closed sockets stay in a TIME_WAIT state during the time specified by the "TcpTimedWaitDelay" value in the previously mentioned registry key. The reason to do this is that closed sockets are cleaned immediately and their resources are made available to open new sockets.

Setting the ReuseAddr option to 1 (possible values are 0 or 1) means that (from MSDN docs): "By default, a socket cannot be bound (see bind) to a local address that is already in use. On occasion, however, it can be necessary to reuse an address in this way. Since every connection is uniquely identified by the combination of local and remote addresses, there is no problem with having two sockets bound to the same local address as long as the remote addresses are different. To inform the Windows Sockets provider that a bind on a socket should not be disallowed because the desired address is already in use by another socket, the application should set the SO_REUSEADDR socket option for the socket before issuing the bind."

Error 64:

(The specified network name is no longer available. ).

Reason:

* If multiple users try to access Microsoft Office documents on the server, the "File is locked for editing" message does not always appear when the second user opens the file.

* A network trace indicates a 30-second to 40-second delay between an SMB Service client command and a response from the file server.

* The users are intermittently disconnected from network resources, and they cannot reconnect to the network resources on the file server. However, you can ping the server, and you can use a Terminal Services session to connect to the server.

Workaround:

Maximize the throughput for File Sharing and Network Applications.

HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> lanmanserver -> parameters -> size

Enter the value ‘3’.

3 = Maximize Throughput for File Sharing and Maximize Throughput for Network Applications.

Ignore the following errors as they are already known:

1. Error 10060 (A connection attempt failed because the connected party did not properly respond after a period of time).

2. No data available for connection id( )

You can find the list ok known bugs in OpenSTA in the below link: http://portal.opensta.org/modules.php?op=modload&name=phpWiki&file=index&pagename=KnownBugs