Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oleksiyp/load-test-tool
Groovy based tool for performing load testing of HTTP or java applications.
https://github.com/oleksiyp/load-test-tool
Last synced: about 2 months ago
JSON representation
Groovy based tool for performing load testing of HTTP or java applications.
- Host: GitHub
- URL: https://github.com/oleksiyp/load-test-tool
- Owner: oleksiyp
- Created: 2011-11-04T12:22:32.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2014-03-12T14:59:30.000Z (almost 11 years ago)
- Last Synced: 2024-10-14T21:53:12.818Z (3 months ago)
- Language: Java
- Homepage:
- Size: 5.59 MB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.textile
Awesome Lists containing this project
README
h1. Loadtest tool
This tool could be used to test load your web application using different scenarios. Scripts are written in groovy using loadtest API.
h2. Run
Copy one loadtest-1.0.jar and Example*.groovy from repository to a directory on your computer. Use java to run it from commandline:
java -jar loadtest-1.0.jar Example1.groovyUse -h option to display command line information:
java -jar loadtest-1.0.jar -h
java -jar loadtest.jar [options...] scripts...
-c (--threads) N : Number of concurrent threads
-ci (--threads-increment) N : Number of concurrent threads to increment after
stop/start (use [ENTER])
-d (--delay) N : Seconds to delay between requests
-e (--eval) VAL : Evaluate groovy script
-h (--help) : Display usage information
-ie (--init-eval) VAL : Evaluate init script to initialize globals
-if (--init-file) FILE : Runs init script to initialize globals
-n (--runs-number) N : Number of runs to perform
-s (--show-slows) N : Number of the slowest queries to show in
statistics(by default 24)h2. Loadtest API
For groovy scripts following classes are available: HTTP and Variations. HTTP class could be used to create load. Variation helps to create non-deterministic behavior. For details please refer to the groovy documentation and src/main/resources/org/loadtest/Classes.groovy
h3. Variations
h4. select(prob1, closure1, prob2, closure2, prob3, closure3, ...)
Select one of the closures to execute depending on probability. Probabilities could be not normalized: i.e. sum(prob~i~) != 1.0
h4. takeAny(arguments...);
Select one of arguments with equal probability.
h3. HTTP
h4. get([Closure reporter, ]String ...urls)
Gets value of one(!randomly selected) of urls and reads line by line calling reporter(line). If reporter is not specified returns array of strings - lines of this file.
h4. parse(Pattern regex, String ...html)
Process text thought regular expression and selects regular expression groups. Returns 2-d array if several groups used and 1-d if one.
h4. resolve(String name, String path)
Resolves path relative to name.
h3. Globals
h4. get(String name)
Get variable value shared in global map.
h4. put(String name, Object value)
Set variable value shared in global map.
h4. list(String name, Object ...initValues)
Initialize list(synchronized) in global map with values initValues.
h4. increment(String name)
Gets counter and increments or initializes it with 0 at start.
h2. Tasks
h3. Features
Ask
h3. Protocols
* 30% HTTP
* 0% FTP
* 0% java call(classpath collector)h3. Proxies
* 0% HTTP proxy
* 0% internal proxyh3. Statistics
* 0% Save statistics to file
* 0% Process file to calculate percentiles, etc
* 0% Prepare data for Excel, GNU PLOT etch2. License
Load test tool is distributed on terms of BSD-license. Look at src/main/resources/BSD-LICENSE.txt for details.
Groovy used internally by load test tool is licensed under the Apache 2 license:
http://www.apache.org/licenses/LICENSE-2.0.html