The version includes as a great contribution from Gary Fitts <firstname.lastname@example.org>
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.
This is mainly bug-fix version, including advancing to curl-7.19.0 library with many bug fixes in FTP and multi-transfer areas.
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
curl-loader project is thankful to www.opensourcetesting.org 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.
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 www.opensourcetesting.org
and to sourceforge support team.
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;
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
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 <email@example.com> for the reporting the problem and testing patches.
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.
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;
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
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.
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
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;
For more details, please, look in ChangeLog:
http://curl-loader.svn.sourceforge.net/viewvc/curl-loader/trunk/curl-loader/ChangeLog?view=markup... read more
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:
http://curl-loader.svn.sourceforge.net/viewvc/curl-loader/trunk/curl-loader/README.Migration?view=markup... read more
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
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:
The version contains bugfixes only looking forward to the "stable" 0.30 version.
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.
The release adds:
- hyper mode based on epoll from libevent library;
- bugfixes, improved validation of environment and configuration
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
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:
- loading users with credentials from file (authentication);
- custom HTTP/FTP headers;
- bug fixes.
Our new web-site has been established at: http://curl-loader.sourceforge.net/
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
Indeed, the first version is at:
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
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;