| PureLoadTM
Frequently Asked Questions
General
Platform Specific Problems
Advanced
General
- How many virtual users can pureload simulate?
PureLoad itself does not put any restriction
on the number of vitual users (worker threads). You can start
up as many PureLoad workers and threads as you need to achieve
the desired load on your target system.
In reality the limit is dependent on the hardware
you have availiable, as well as the application you are testing.
- When I copy/paste from PureLoad to Excel (using
Ctrl-C) an extra line is inserted. Why?
The default end-of-line delimiter (on Windows)
is "\r\n" (Return + Newline).
When pasting into Excel you should change this to "\r" (Return), using the Properties dialog.
- My test seems to hang. What is happening?
The server application does not respond. Enable
any task specif debug, trace or verbose settings and run again.
Watch the worker log carefully if it halts when contacting the
server application. Another work-a-round is to set timeout on
the failing task. This will cause the test to continue even if
a task hangs.
- "Port already in use" error.
If you get error messages when starting PureLoad
servers saying something similar to:
Error
starting NamingServer at: host[192.168.10.1]:1099
Exception message is: Port already in use: 1099; ....
This means that the specified port is used by another process.
The most common reason is that you already have an instance of
the PureLoad server running. Another reason could be that the
specified port is used by another program installed on the machine.
In this case you must choose another port for the actual process.
Read the Installation properties section for more information.
- "Class not found" error.
If you get the error message "Class not
found" then the following might be appropriate.
PureLoad does not rely on the CLASSPATH environment variable.
Instead this setting among others is defined in the $PURELOAD_HOME/bin/pureload.lax
file as property lax.class.path.
Some generic tasks such as the JDBC tasks needs
a JDBC driver in order for the tasks to be able to execute. In
this case you must update the lax.class.path
property to include the location of the JDBC driver classes. If
the class path is correct but you still get this error, it can
be an invalid message. On some platforms, the Java VM reports
ClassNotFoundException
when the real problem is rather an out of memory exception, see
the next section about "Out of memory".
Note: For tasks using external code such as
the example above with JDBC driver then you will need to make
these dependencies available to the task space process and all
machines that hosts worker threads. I.e. include appropriate class
files, etc. in the CLASSPATH.
- "Out of memory" error
If "Out of memory" exceptions appear
in the worker log then you will need to increase the memory size
of the worker JVM. This exception may also be caused by running
out of other OS resources, for example max. number of open file
descriptors on UNIX (see below). To increase the maximum allowed
memory for a worker, modify worker.args
in the $PURELOAD_HOME/bin/pureload.lax
file.
Large scenarios that are executed many times
(iterations) might cause the console to report out of memory problems.
This is typically related to when the Update Interval setting
in Tool Properties is set to low (polling to often). Increase
the number of seconds and try again.
Platform Specific Problems
- When starting PureLoad I get segmentation fault on my Linux
patform?
This is caused by a problem, described in the
release notes for Java 2 SDK, Standard Edition Version 1.3.1 as
follows:
The newer glibc-2.2.x libraries cannot correctly
handle initial thread stack sizes larger than 6 MB. This can cause
a segmentation fault on some Linux platforms that use the newer
libraries. Such platforms include Red Hat 7.0, Mandrake 8.0, SuSe
7.2, and Debian 2.2. The problem will not occur on Linux platforms
that are using glibc-2.1.x such as Red Hat 6.1 and 6.2. It will
also not affect Red Hat 7.1 because it uses a different thread
stack layout.
Workaround - Use "ulimit -s 2048"
in bash shell or "limit stacksize 2048" in tcsh to limit
the initial thread stack to 2 MB.
- "Out of environment space" on a Windows 95/98
system
If you encounter an "Out of environment
space" error, then you will need to increase the size of
the environment table. You do this by editing the CONFIG.SYS
configuration file. The change will be permanent and you must
restart the computer in order to get use of it.
shell=command.com
/e:8192 /p
Once you have increased the size of the environment table, try
running PureLoad again.
Note: It is not recommended to use Windows
95/98 with PureLoad other in evaluation purposes.
- "Connection refused" error in Windows
PureLoad workers creates lot of client OS threads
that all attempt to connect to the task space and naming servers.
If you receive "Connection refused" errors this is probably
due to that the backlog of connection requests limit in Windows
are reached. Windows NT 4.0 Workstation and Windows 2000 Professional
are limited to a backlog of 5 connection requests. Windows NT
4.0 Server and Windows 2000 Server can accept a backlog of up
to 200 connections. You can change the behavior on a NT server
with some registry settings. See the Microsoft documentation on
how to do this (and the possible implications of doing it).
- File descriptors on Solaris
To increase number of file descriptors allowed
per process (256 is default in Solaris 8). Use the ulimit
or limit command
in the shell you are using to start manager and tasks space server.
To be able to increase number of file descriptors to more than
1024, you must modify the /etc/system
file:
# set
hard limit on file descriptors
set rlim_fd_max = 4096
# set soft limit on file descriptors
set rlim_fd_cur = 1024
These settings will increase the default to 1024 with a max limit
of 4096.
Note: The system must be rebooted to initiate changes in
/etc/system.
- File descriptors on Linux
If you are running PureLoad on a UNIX system
you may begin to receive exceptions that is caused by that the
file descriptor limit of your system is being exceeded. You can
examine the current setting of the file descriptor limit using
the limit/ulimit
command. Use the following csh shell command to increase the file
descriptor limit to (for example) 1024:
% limit
descriptors 1024
Use the following sh or ksh shell command to increase the file
descriptor limit to (for example) 1024:
% ulimit
-n 1024
Other shells will have similar commands to allow you to increase
the file descriptor limit. For a more permanent means to modify
your operating system file descriptor limit, check your operating
system documentation. (Instructions for Solaris).
Advanced
- I implement my own tasks, but I'm not able to load them into PureLoad.
Why?
The most common reason for this is related to
how the CLASSPATH is used in PureLoad. There are two properties
that you should define in the pureload.lax file:
the Java classpath necessary to run this application. This must
include the path to your own tasks and other classes used by
your tasks.
autoreload.class.path
the classpath including classes that should
be reloaded when changed. This should include the path to your
own tasks and other classes used by your tasks.
- I want to use PureLoad servers located outside
of my firewall. Can I do this?
PureLoad uses RMI for internal communication
between servers and the console and there is no way to restrict
the ports used by RMI that we are aware of (which makes it hard
to configure a firewall).
As described in the document: http://java.sun.com/j2se/1.3/docs/guide/rmi/faq.html#firewall
there are two main methods to handle cases like this: HTTP-tunneling
or SOCK.
We do have a small SOCKS server written in Java that we can provide as a work-a-round. Please contact info@NRGglobal.com for
more information.
|