Hh-load is a project mainly written in Common Lisp, it's free.
Basic load generation library for Common Lisp (SBCL-specific for now)
HH-Load
Very basic load generator for CL projects. Makes use of Eager Futures for suitable multi-threading of load creation, and depends upon Drakma for HTTP For now, only works on SBCL, but only because it depends upon a specific SBCL condition when handling socket connection failures.
Basically, 2 major functions for now:
generate-load : Supply any callable function (with optional amount of concurrency and max number of iterations), and generate-load will make sure the function is called the specified number of iterations spread across a concurrent number of invocations. So, for example, if concurrency is 5 and iterations is 20, then hh-load will advise the Eager Futures runtime to use 5 threads, then queue up 20 different futures--resulting most likely in each of the 5 threads handling 4 iterations each.
generate-http-load : Instead of passing a function, pass an URL as a string, and generate-http-load will generate HTTP GET requests against the URL. The same concurrency and iteration parameters as for generate-load are valid here as well. Note that if an interrupt occurs during socket connection, then the socket connection will be attempted again (based on handling an SBCL-specific condition, SB-BSD-SOCKETS:INTERUPPTED-ERROR).
Upon completion, both functions print out information to error-output (e.g., stderr), like this:
Elapsed time: 1.275
Completed: 100 iterations
Iterations per second: 78.431/second
Errors: 6 (6.000%)
Longest: 1.028 seconds
Average: 0.171 seconds
Fastest: 0.008 seconds
Both functions will also print out a consolidated list of any errors encounters during the run, based on the message reported for each such error, including the number of times the error was encountered (e.g., "3 times 'Condition USOCKET:CONNECTION-RESET-ERROR was signalled.'").
These functions return multiple values, which presently include:
All original code in this package licensed under the MIT license.
Contact [email protected] for any questions, comments, feedback, or contributions, and keep an eye on http://haphazardhouse.net/projects/hh-load for info and news about hh-load.