curl-loader - web application testing / News: Recent posts

curl-loader version 0.47 released

The version includes as a great contribution from Gary Fitts <>
template URL, enabling testing from thousands URLs with parameters from file.
Alternatively, the URLs can be created on-fly using response tokens.
Various bug fixes in this version are in the area of POST-ing files and files upload.

Posted by Robert Iakobashvili 2008-12-02

curl-loader version 0.46 released

This is mainly bug-fix version, including advancing to curl-7.19.0 library with many bug fixes in FTP and multi-transfer areas.

Posted by Robert Iakobashvili 2008-09-03

curl-loader, version 0.45 released

The version includes performance improvements.

* Advanced to libevent-1.4.4, which is supposed to deliver better performance for high loads

* Corrected the patch changing the NEVENT number.
The patch was not applied in previous versions, limiting the number of virtual clients to only 32K

Posted by Robert Iakobashvili 2008-05-17

curl-loader gets donation from opensourcetesting

curl-loader project is thankful to Mark Aberdour for his donation, great appreciation and support.

The donation will be used for VScript facility development.

VScript means a new generation scripting language.
Code written in VScript is compiled to an object code, runs in its own VM and not blocks the whole thread, has several entry and exit points.

VScript will be used for analyzes of HTTP/FTP response body in a super-effective way.

Posted by Robert Iakobashvili 2007-12-01

curl-loader is a one year project. Happy birthday!

Thanks and best wishes to the people, who helped
to Michael Moser and me, provided patches and other

Special thank to curl project team,
libevent team and
Mark Aberdour, a maintainer of
and to sourceforge support team.

Robert Iakobashvili,

Posted by Robert Iakobashvili 2007-10-12

Version 0.43 released. Shared-IPs, random VC credentials

version 0.43 delivers:
- shared IPs facility, which allows using of
a limited pool of client IP-addresses by
any number of virtual clients;
- random clients feature, which allows using
e.g. 100 clients to simulate a load of e.g.
1000000 clients by choosing client credentials
- compilation, FTP, IPv6 bugfixes;

Posted by Robert Iakobashvili 2007-09-19

Stable version 0.42 released. Bugfixes

This is the bugfix stable version, which fixes
- FTP load bug, where the opened FTP connections has been kept foreever even with FRESH_CONNECT=1 specified;
- compilation bug for linux distributions, where
PAGE_SIZE not defined in asm/page.h

Added a detailed logging feature with -d command-line option

Posted by Robert Iakobashvili 2007-09-05

FTP bugfix committed to svn

When FRESH_CONNECT=1 tag is specified for FTP URLs, new FTP connections have been opened in due course, but old FTP connections have been kept forever and not closed.

The bugfix committed to SVN forces the old connections to be closed. Thanks to John Gatewood Ham <> for the reporting the problem and testing patches.

Posted by Robert Iakobashvili 2007-08-06

Stable version 0.41 instead of 0.40 released

Due to a critical bugfix of version 0.40 we have released version 0.41.
The fixed bug prevented loading credentials/tokens from file.

The version also uses newest curl-7.16.4 released due to a critical vulnerability fixed.

Please, upgrade.

Posted by Robert Iakobashvili 2007-07-27

Stable version 0.40 released. 60K clients.

curl-loader is a powerful C-written web application testing and load generating tool.
This version is a stabilization version, tested with up to 60K clients
from a single curl-loader process.

Besides the bugfixes the version delivers:
- HTTP Multipart Form-Data POST-ing as in RFC1867;
- client max throughput limit;
- random timers;
- url fetching probability;
- improved documentation, including man pages;

Posted by Robert Iakobashvili 2007-07-05

Version 0.32 released. SMP/m-cores adaptation and bugfixes

curl-loader is a powerful C-written HTTP, HTTPS, FTP, FTPS load generator, performance and stress testing tool. It uses real HTTP and TLS/SSL stacks, generating thousands of users each with own IP-address. Emphases is given to user authentication, login and statistics.

The new release increases curl-loader loading power on SMP/multi-core machines by sharing loading clients among
several loading threads using command-line option
-t <threads-num>
The release also brings:
- important bugfixes;
- GET with support of forms;
- POST forms with up to 16 form-filled tokens for each client and url loaded from file;
- configurable per url response statuses to be considered either success or errors.

Posted by Robert Iakobashvili 2007-06-21

Serious bugfixes for 0.31 and SMP support are in SVN

The bugs fixed:
- Ramp-up clients number timer was sometimes canceled by url-timeout timers;
- Log of responses to files had also some problems.

SMP-support can be gained by using option -t <threads-num>. We can recommend to use number of threads as number of CPUs from /proc/cpuinfo.
Note, that sometimes the loader crashes on start
with the option used due to suspected bugs in libevent. Change/decrease the number of threads used.
Note, that total statistics is written to
file $batch-name_0.txt, whereas logs are per-thread and written to files $batch-name_<i>.log
The changes are in project subversion.... read more

Posted by Robert Iakobashvili 2007-06-18

Version 0.31 released. FTP, flexible configuration and more

The version brings:
- a more flexible configuration approach;
- improved FTP support, inc active FTP and upload;
- responses logging to files (headers and bodies);
- URL fetching timers: monitoring and enforcement;
- HTTP PUT support;
- configurable connection refresh or keeping it on a per-url bases;
- etc

For more details, please, look in ChangeLog: read more

Posted by Robert Iakobashvili 2007-05-31

Bugfixes for FTP, statistics and more are in SVN

The recent commits are summarized here:

Please, note, that we have re-worked configuration and tags with old configuration files kept in ./config-examples-old. Y may compare the new and old configuration files and/or read the migration doc: read more

Posted by Robert Iakobashvili 2007-05-19

Stable version 0.30 released. 10K and more loading clients

curl-loader officially supports 10K and more simultaneously loading clients in hyper mode (commandline option -m0)

Memory consumption per client decreased from
60-65K to 30-35 Kb

Posted by Robert Iakobashvili 2007-04-26

curl-loader reveals bug in linux kernel

Kernels series 2.6.19.* and 2.6.20.* have a bug in initial memory allocation for TCP for a rather low-end memory machines (below 1G).

For more details look read the netdev thread below by pressing next_in_thread:

Posted by Robert Iakobashvili 2007-04-18

Version 0.29 released. Bugfixes only.

The version contains bugfixes only looking forward to the "stable" 0.30 version.

Posted by Robert Iakobashvili 2007-04-18

Important Bugfixes Added to SVN

The changes fix several bugs, among them:
- hyper-mode - gradual increase of clients num with non-zero interleave time;
- smooth mode - busy looping with non-zero interleave times;
- smooth mode - CPU consumption moderated by decreasing the number of get_timer_tick() (gettimeofday()) calls.

Take the fixes from the SVN.

Posted by Robert Iakobashvili 2007-04-11

Version 0.28 released. Hyper-mode, bugfixes, validation.

The release adds:
- hyper mode based on epoll from libevent library;
- bugfixes, improved validation of environment and configuration

Posted by Robert Iakobashvili 2007-04-08

Hyper in SVN. 100K of HTTP clients from a single process?

First release of hyper-mode committed to SVN.
Run it with -m0 command line option.

We have tested 4000 clients with the node, using
lighthttpd server till no idle CPU left (2/3 of the consumption due to the web-server). We need to tune /optimize the web-server and to run curl-loader from a separate machine.

Another option is to arrange several web-servers
with a load balancer from Creshendo, Radware or F5.... read more

Posted by Robert Iakobashvili 2007-04-02

Version 0.27 released. User credentials, custom header, IPv6

curl-loader is a HTTP/S and FTP/S performance testing and loading tool, using stacks of curl and openssl, and simulating thousands of clients each with own IP-address.
This release adds support for:
- IPv6;
- loading users with credentials from file (authentication);
- custom HTTP/FTP headers;
- bug fixes.

Our new web-site has been established at:

Posted by Robert Iakobashvili 2007-03-22

Login Credentials from File Added to SVN

Credentials (user and password) loading from file is a new option added.
Login usernames and passwords input from a text file with the structure of each string like:

According to RFC1738, only reserved
':', '@', '/' and ' ' (space) are safe
to use as separators between username and password.

Look at the example conf-examples/credentials_fr_file.conf,
where the credentials file is
conf-examples/credentials.cred... read more

Posted by Robert Iakobashvili 2007-03-18

Our Web Site Is Up

Indeed, the first version is at:

Posted by Robert Iakobashvili 2007-03-12

IPv6 Support Added to SVN

curl-loader now supports IPv6 addresses. Y may use in URI IPv6 addresses, but remember to place them in brackets.
An example of configuration is provided in conf-examples/ipv6.conf

Posted by Robert Iakobashvili 2007-03-06

Version 0.26 released. Dialog-Based Config-GUI and more

The version brings:
- Dialog-based configuration GUI;
- Web and Proxy Authentication;
- Improvement of SIPP-like GUI loading status terminal with running statistics counters;
- Unification of the making process;

Posted by Robert Iakobashvili 2007-02-27