Project

General

Profile

Feature #2580

Updated by Tim Pierce about 10 years ago

Perform 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 simple benchmarking for Keep, invalid requests 
 * Record performance metrics including: 
 ** Number of successful requests 
 ** Number and (if breakdown of error results 
 ** Shortest, longest, and median response time permits) compare 
 ** 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 benchmarks with and old Keep. 

 Use side Side by side results from three concurrent "ab" processes (apt-get install apache2-utils) -- one read, one write, one bogus. 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/)

Back