Project

General

Profile

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/)

Back