Funkload Build script

November 23rd, 2007

Funkload is an open source python based unit testing tool. It serves as a good tool for load testing. We can use it to create a unit test which simulates a user browsing through a site. To test load run two simultaneous instances of the unit test and so on scaling up the number of concurrent instances.

Offical Site: http://funkload.nuxeo.org/

I have written a python based Funkload build script which:

  • Builds the Funkload configuration for multiple sites
  • Uses wget to generate sample of pages for load testing
  • Runs load tests
  • Builds HTML documentation from test results.

Download

Latest Version

Funkload Builder v0.2 funkloadBuilder02.tar.gz

Previous Versions

Funkload Builder v0.1 funkloadBuilder01.tar.gz

Install

Set the sites to test within builder.conf

[main] 

protocol=http 

#Test sites comma seperated 

test_sites=[site1.co.uk, site2.co.uk]

Within builder.conf set where the webroot is and where you want Funkload builder to run from.

[setup] 

#web root where documentation will be generated 

wsb_root=/home/esw/funkload-results/
#where funkload config will be built and run from 

test_repository=/home/esw/funkload/

A finally any configuration values required for wget. Wget is used to create a sample of the site pages.

#Setup any paramters we want to use for wget. Must match wget --dec long format 

[wget] 

http-password=pass 

http-user=username 

#limit in bytes 

quota=1000000000 

accept='.html'

The default/ folder

This is where all the templates used to generate config for sites are stored. It contains the python test scripts and the partial settings for a Funkload configuration.

Configure the template tests within default/load.conf with your desired default load testing settings. See http://funkload.nuxeo.org/README.html for details of these options

Usage

Building

Sample size dictates the number of pages fetched by wget.

python build.py -b 50

Runs all the load tests for the sites

Running load tests

python build.py --run

Generating html report from test results

python build.py -s output-report-name

Change Log

Version 0.3.0

  • Manage error handling if folders already exists when building
  • Wget is no longer dependent on a certain site structure

Version 0.2.0

  • Supports sampling urls from any site structure
  • Fixed bug using the wrong config values

Version 0.1.0

License

Funkload Builder is released under the GNU GENERAL PUBLIC LICENSE Version 2

Leave a Reply