The document discusses load testing and why it often fails. It recommends using a tool with the lowest barrier to entry, such as Blitz, which allows load testing on AWS with a web form or API. Blitz produces results but no reports, so the document shows how to modify Blitz's code to output JSON results for reporting purposes. It encourages integrating load testing into existing development workflows rather than treating it separately after deployment.
67. $ gem install blitz
$ blitz help
Usage: blitz <command> <options>
help - Display this help
account:about - Show information about your account
api:init - Validate and login with your API key
couch:fuzz - Auto generate blitz tests from CouchDB
curl - Run a sprint or a rush
curl:help - Show help on sprint and rushing
traceroute - Run traceroute remotely
traceroute:help - Show help on traceroute
version - Show the version of this Ruby gem
$ blitz api:init
# writes credentials to ~/.blitz/credentials
68. $ blitz curl:help
Usage: blitz curl <options> <url>
--user-agent -A <string> User-Agent to send to server
--cookie -b name=<string> Cookie to send to the server (multiple)
--data -d <string> Data to send in a PUT or POST request
--dump-header -D <file> Print the request/response headers
--referer -e <string> Referer URL
--help -h Help on command line options
--header -H <string> Custom header to pass to server
--pattern -p <s>-<e>:<d> Ramp from s to e concurrent requests in d secs
--region -r <string> california|oregon|virginia|singapore|ireland|japan
--status -s <number> Assert on the HTTP response status code
--timeout -T <ms> Wait time for both connect and responses
--user -u <user[:pass]> User and password for authentication
--request -X <string> Request method to use (GET, HEAD, PUT, etc.)
--variable -v <string> Define a variable to use
--verbose -V Print the request/response headers
--tlsv1 -1 Use TLSv1 (SSL)
--sslv2 -2 Use SSLv2 (SSL)
--sslv3 -3 Use SSLv3 (SSL)