Synthetic load generation.
npm install kevlar
kevlar
reads a list of paths from STDIN
and resolves them against
a target URL (--target
) before making HEAD
requests.
This means that you can use a static list of paths as a source of load:
cat paths.txt | kevlar -t http://example.com
Or, you can use a dynamic list of paths, in this case processed from a remote syslog stream:
curl -s http://source.example.com | \
grep path | \
perl -pe 's/^.+GET (\/[^\/]+\/[\w\/\.]+).+$/\1/' \
kevlar -t http://example.com
If you see EMFILE
errors, kevlar
's intended concurrency is being limited by
the number of available file descriptors (often 256 by default). To increase
the limit, use:
ulimit -n 1024
kevlar
currently makes HEAD
requests by default (use -X option to change the method) in order to reduce bandwidth
utilization (with the knowledge that in this case the target will perform all
necessary work in response).