You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
4 years ago
|
# Concurrency
|
||
|
|
||
|
## Question
|
||
|
|
||
|
_How does increasing levels of concurrent client requests affect tail latency, throughput, and the success/error rate of sandbox execution?_
|
||
|
|
||
|
## Independent Variable
|
||
|
|
||
|
- The number of concurrent client requests made at a given time
|
||
|
|
||
|
## Dependent Variables
|
||
|
|
||
|
- p50, p90, p99, and p100 latency measured in ms
|
||
|
- throughput measures in requests/second
|
||
|
- success rate, measures in % of requests that return a 200
|
||
|
|
||
|
## Assumptions about test environment
|
||
|
|
||
|
- You have a modern bash shell. My Linux environment shows version 4.4.20(1)-release
|
||
|
- `hey` (https://github.com/rakyll/hey) is available in your PATH
|
||
|
- You have compiled `sledgert` and the `empty.so` test workload
|
||
|
|
||
|
## To Execute
|
||
|
|
||
|
1. Run `./run.sh`
|
||
|
2. View the results in the newest timestamped directory in `./res`
|
||
|
|
||
|
## To Debug
|
||
|
|
||
|
1. Run `./debug.sh` in a tab
|
||
|
2. Run `./run.sh -d` in a second tab
|
||
|
|
||
|
## TODO
|
||
|
|
||
|
- Harden scripts to validate assumptions
|
||
|
- Improve error handling in scripts. If `sledgrt` crashes, this charges forward until it hits a divide by error when attempting to clean data that doesn't exist
|