Feature #2580
Updated by Tim Pierce about 10 years ago
In addition to unit tests, we need to be able to demonstrate Keep performance by means of a stress test. A stress test should: * Flood Keep with concurrent GET and PUT requests * Include some invalid requests * Record performance metrics including: ** Number of successful requests ** Number and breakdown of error results ** Shortest, longest, and median response time ** Any inconsistencies on Keep volumes after testing is done * Configurable options could include: ** Maximum concurrency for requests (e.g. @--concurrency=50@ means max 50 requests at a time) ** SSL or non-SSL A useful experiment would be to perform stress tests with the same parameters against new Keep and old Keep. Side by side results from three concurrent "ab" processes (apt-get install apache2-utils) -- one read, one write, one bogus -- should give us a pretty good picture. Benchmark tools that may prove useful: * Apache Benchmark (http://httpd.apache.org/docs/2.2/programs/ab.html) * wrk (https://github.com/wg/wrk) * curl-loader (http://curl-loader.sourceforge.net/) * httperf (http://www.hpl.hp.com/research/linux/httperf/) * autobench (http://www.hpl.hp.com/research/linux/httperf/)