PureLoad
Version: 3.5.3    Date: 2008-04-04

PureLoad 3.5

Read more about what's new in PureLoad 3.5.

Extensions

We provide PureLoad extension development that suits your needs and requirements. Contact us for more information if you have a proprietary or standard server application using protocols not supported by PureLoad.

We have extension packages for WAP, Radius, RTSP/RTP etc.

Pure Performance Suite

PureLoad is part of Pure Performance Suite.

Tuning OS for PureLoad Usage

Normally there are no need for any tuning of the Operating System where you run PureLoad, but this document describes a few areas where it might be necessary per OS.

Network Connections

If you are using a lot of workers and/or worker threads you might be running out of client TCP/IP connections. The reason for this could be that the worker machine :

  • is out of available connections/ports
  • is running out of file descriptors (UNIX)
The reson for running out of available ports is that if you creates a lot of connection at a rapid rapid rate, the system does no have enough time to clean up the TIME_WAIT sockets. Eventually, the ports numbers for those TIME_WAIT socks run out, and the worker crashes.

Windows

The TCP/IP layer has a default maximum connections allowed in the TIMED_WAIT state. To remedy this, modify or create the following registry keys:

  • TcpTimedWaitDelay=0x1e, sets TIME_WAIT parameter to 30 seconds, default is 240.
  • MaxUserPort=0xfffe, sets maximum open ports to 65534, default is 5000

For more details see: List of TCP/IP Windows Registry Elements including MaxUserPort & TcpTimedWaitDelay.

The easiest way to set the above parameters, as well as other TCP/IP parameters that might be usefull, import the file: TcpIpLoadSet.reg using the Registry Editor.

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Minq Software cannot guarantee that you can solve problems that result from using Registry Editor incorrectly.

Linux

On a Linux system it's harder to change the TCP TIMED_WAIT setting, instead you should increate the available number of ports.

The /proc/sys/net/ipv4/ip_local_port_range defines the local port range that is used by TCP and UDP traffic to choose the local port. You will see in the parameters of this file two numbers: The first number is the first local port allowed for TCP and UDP traffic on the server, the second is the last local port number. You may change its default parameters to 1024-65535.

Edit the /etc/sysctl.conf file and add the following line:

      # Allowed local port range
      net.ipv4.ip_local_port_range = 1024 65535
   

You must restart your network for the change to take effect.

File descriptors

If you are running PureLoad on a UNIX system you might 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.

Solaris

To increase number of file descriptors allowed per process use the ulimit or limit command in the shell you are using (see above) 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.

Linux

To increase number of file descriptors allowed per process (1024 is the default on recent Linux kernels). Use the ulimit or limit command in the shell you are using (see above) to start manager and tasks space server. To be able to increase number of file descriptors to more than 1024, follow the instructions below:

  1. Allow users to increase their file descriptor limits by changing the following configuration files:

    In /etc/security/limits.conf, add the lines:

                   *       soft    nofile  1024
                   *       hard    nofile  4096
    In /etc/pam.d/login, add:
                   session required /lib/security/pam_limits.so

  2. Increase the system-wide file descriptor limit by adding the following three lines to the /etc/rc.d/rc.local startup script:
          # Increase system-wide file descriptor limit.
          echo  4096 > /proc/sys/fs/file-max
          echo 16384 > /proc/sys/fs/inode-max

    As an alternative method, recent Red Hat releases allow you to put the configuration changes into the /etc/sysctl.conf file with:

                # Increase system-wide file descriptor limit.
                fs.file-max = 4096
                fs.inode-max = 16384