Skip to content

Commit 09a5be2

Browse files
authored
JMeter tests (#198)
* JMeter test plan. * Added how to run JMeter from command line. * Updated CHANGELOG.md.
1 parent 4823019 commit 09a5be2

File tree

3 files changed

+473
-0
lines changed

3 files changed

+473
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1212
### Added
1313
- Added a `sort` and `order` parameter to `/api/search` endpoint that supports date and numeric field sorting. If only order is specified, created date is used. String fields are not currently supported.
1414
- Added a new `/api/deleteindex` admin endpoint that will queue an action to delete an Elasticsearch index (usually prior to a reindex).
15+
- JMeter testing suite.
1516

1617
### Changed
1718
- Consolidated field names sent by the EventSinkService to maxaimize reuse.

scripts/jmeter/README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# JMeter Clowder Tests
2+
3+
This directory includes a simple [JMeter](https://jmeter.apache.org/) test plan to exercise the service and API.
4+
JMeter includes both a GUI to create and run the test plans as well as a CLI. When stress testing, use the CLI.
5+
6+
Before running the test you will need to set `X-API-KEY` to your own Clowder API key. Change the web server protocol,
7+
server name, and port, in HTTP Request Defaults and the file path `File.path` you want to use to test in `Upload file`.
8+
9+
You can set the concurrency by changing the number of threads `ThreadGroup.num_threads` in Scenario 1.
10+
This scenario includes the following steps:
11+
- Create dataset
12+
- Upload file to dataset
13+
- Create folder
14+
- Move file to folder
15+
- Update file name
16+
- Upload file metadata
17+
18+
There is a 1s pause between each call. Make that shorter or disable if stress testing.
19+
20+
To run the test from the command line use the following command:
21+
22+
`jmeter -n -t jmeter-clowder.jmx -l jmeter-out -e -o jmeter-out-html`
23+
24+
The file `jmeter-out` will include the status of each call.
25+
The `jmeter-out-html` will include an html page with summaries and visualizations of that output.

0 commit comments

Comments
 (0)