Web测试和负载模拟工具 curl-loader

openkk 12年前

curl-loader 是一个用C语言编写的Web应用测试和模拟负载工具,可模拟成千上万的客户端请求,并且每个请求来自不同的IP地址,支持用户认证、登录等Web交换过程。

- Rampup of the virtual clients number at loading start in either automatic or manual mode;

- IPv4 and IPv6 addresses and URIs;

- HTTP 1.1. GET, POST and PUT, including file upload operations;

- HTTP user authentication login with POST or GET+POST methods. Unique configurable username and password for each virtual client as well as configurable posted string (post-forms) are the options. Another option is loading of users with credentials from a tokens text file;

- HTTP POST/GET forms with up to 16 tokens filled from a tokens text file;

- HTTP user logoff with POST, GET+POST, or GET (cookies); POST logoff with configurable posted string (post-forms);

- HTTP multipart form data POST-ing as in RFC1867;

- HTTP Web and Proxy Authentication (HTTP 401 and 407 responses) with Basic, Digest (RFC2617) and NTLM supported;

- HTTP 3xx redirections with unlimited number of redirections;

- HTTP cookies and DNS caches;

- FTP passive and active, FTP upload;

- Full customization of client request HTTP/FTP headers ;

- Transfer limit rate for each client download or upload operation on a per url bases;

- URL fetching probability;

- TCP connections reuse or re-establishment on a per url bases;

- Unlimited configurable number of URLs. Mixing of HTTP, HTTPS, FTP and FTPS urls in a single batch (test plan) configuration;

- Connection establishment timers for each URL;

- URL completion timers monitoring and enforcement for each client;

- Inter/after URL "sleeping" timers, including random timers taken from a configurable interval;

- Logfile with tracing activities for each virtual client. The logfile is automatically rewinded, when reaching configurable size preventing disk crashes;

- Logging of responses (headers and bodies) to files.

- Pre-cooked batch configuration (test plan) examples;

- Load Status GUI at console and with output to file;

- Status and statistics for each virtual client, which are logged to file;

Here is a screenshot:

curl-loader screenshot

项目主页:http://www.open-open.com/lib/view/home/1330173792530