-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
01ec7bc
commit 47c8983
Showing
9 changed files
with
438 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
# Rendezvous benchmarks | ||
|
||
This benchmark contains a simulator to exercise a rendezvous server and gather performance metrics from it. | ||
|
||
## Running | ||
|
||
For running the benchmarks, it is required to install the dependencies of the `libp2p-rendezvous`, as well as Docker. With those installed, you only need to run the `index.js` file as follows: | ||
|
||
```sh | ||
$ npm install | ||
$ cd benchmarks | ||
$ node index.js | ||
``` | ||
|
||
While default values exist for benchmarking, you can use CLI parameters to configure how to run the benchmark. | ||
|
||
### Configuration | ||
|
||
TODO | ||
|
||
### Output | ||
|
||
TODO | ||
|
||
## Metrics | ||
|
||
- Operations {Register, Discover} | ||
- Average response time | ||
- Maximum response time | ||
- Median response time | ||
- Server performance | ||
- CPU | ||
- Memory | ||
|
||
## Scenarios | ||
|
||
### Register | ||
|
||
Measure adding n registrations. Each operation in the following table | ||
|
||
| Type | Clients | Io registrations | Operations | Namespaces | | ||
|------|---------|------------------|------------|------------| | ||
| `Register` | 5 | 0 | 500 | 10 | | ||
| `Register` | 5 | 1000 | 500 | 10 | | ||
| `Register` | 10 | 1000 | 500 | 10 | | ||
| `Register` | 100 | 1000 | 500 | 10 | | ||
| `Register` | 100 | 1000 | 1000 | 10 | | ||
| `Register` | 100 | 10000 | 500 | 10 | | ||
| `Register` | 100 | 100000 | 1000 | 10 | | ||
| `Register` | 100 | 100000 | 10000 | 10 | | ||
| `Register` | 1000 | 100000 | 10000 | 10 | | ||
| `Register` | 1000 | 100000 | 100000 | 10 | | ||
| `Register` | 1000 | 1000000 | 10000 | 10 | | ||
| `Register` | 1000 | 1000000 | 100000 | 10 | | ||
| `Register` | 1000 | 10000000 | 10000 | 10 | | ||
| `Register` | 1000 | 10000000 | 100000 | 10 | | ||
| `Register` | 1000 | 100000000 | 10000 | 10 | | ||
| `Register` | 1000 | 100000000 | 100000 | 10 | | ||
|
||
### Discover | ||
|
||
1. Measure discover 500 existing registrations in series with limit of 20 | ||
|
||
| Type | Io registrations | Io namespaces | | ||
|------|------------------|------------------| | ||
| `Discover` | 0 | 0 | | ||
| `Discover` | 100 | 10 | | ||
| `Discover` | 1000 | 10 | | ||
| `Discover` | 1000 | 100 | | ||
| `Discover` | 10000 | 10 | | ||
| `Discover` | 10000 | 100 | | ||
| `Discover` | 10000 | 1000 | | ||
| `Discover` | 100000 | 10000 | | ||
| `Discover` | 1000000 | 10 | | ||
| `Discover` | 1000000 | 100 | | ||
| `Discover` | 1000000 | 1000 | | ||
| `Discover` | 1000000 | 10000 | | ||
| `Discover` | 1000000 | 100000 | | ||
| `Discover` | 10000000 | 100000 | | ||
| `Discover` | 100000000 | 100000 | | ||
|
||
2. Measure trying to discover 500 not existing registrations in series | ||
|
||
| Type | Io registrations | Io namespaces | | ||
|------|------------------|------------------| | ||
| `Discover` | 0 | 0 | | ||
| `Discover` | 100 | 10 | | ||
| `Discover` | 1000 | 10 | | ||
| `Discover` | 1000 | 100 | | ||
| `Discover` | 10000 | 10 | | ||
| `Discover` | 10000 | 100 | | ||
| `Discover` | 10000 | 1000 | | ||
| `Discover` | 100000 | 10000 | | ||
| `Discover` | 1000000 | 10 | | ||
| `Discover` | 1000000 | 100 | | ||
| `Discover` | 1000000 | 1000 | | ||
| `Discover` | 1000000 | 10000 | | ||
| `Discover` | 1000000 | 100000 | | ||
| `Discover` | 10000000 | 100000 | | ||
| `Discover` | 100000000 | 100000 | | ||
|
||
3. Cookies | ||
|
||
|
||
|
||
| Type | Io Reg | Namespaces | Ops | Average RT (ms) | Median RT (ms) | Max RT (ms) | Min RT (ms) | | ||
|----------|--------|------------|-----|-----------------|----------------|-------------|-------------| | ||
| REGISTER | 100 | 500 | 5 | 1243 | 1228 | 2456 | 24 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"id": "12D3KooWPCDhKA2NoJCnxUqKmBNLVg6ekNzcw9GVsncLgfdbN2pm", | ||
"privKey": "CAESYDprk82zAJeNcIHxgj3seEWRLCOh+7e7yTBVx1IW38HnxsEgoQGbW5xJDd7GHml2Mb8LNxsdB+WgznkhDLYZL97GwSChAZtbnEkN3sYeaXYxvws3Gx0H5aDOeSEMthkv3g==", | ||
"pubKey": "CAESIMbBIKEBm1ucSQ3exh5pdjG/CzcbHQfloM55IQy2GS/e" | ||
} |
Oops, something went wrong.