Commit Graph

238 Commits

Author SHA1 Message Date
Piotr Galar 2980863ebc
feat: automate adding new go-libp2p versions to perf (#256)
* feat: automate adding new go-libp2p versions to perf

* fix: put add-new-impl-versions.yml on schedule
2023-09-02 10:16:35 +02:00
Max Inden 73dba1a5bc
feat(perf/rust-libp2p): upgrade to v0.52.3 and remove master (#290)
- Upgrade rust-libp2p `v0.52` implementation to rust-libp2p `v0.52.3`.
- Remove rust-libp2p `master` implementation. Given that `v0.52.3` contains the
  stable QUIC implementation, there is no more need for `master`.
2023-09-01 19:59:53 +02:00
Chad Nehemiah fbb92b75b2
fix(perf): adjust cli flags for perf runner for testing purposes (#275)
Co-authored-by: Max Inden <mail@max-inden.de>
2023-09-01 19:59:30 +02:00
Max Inden a68c19699e
Revert "feat(perf): add js-libp2p NodeJS (#244)" (#292)
This reverts commit c39bfb9b32.

Reverting due to https://github.com/libp2p/test-plans/issues/291. Can revert
revert once resolved.
2023-09-01 19:58:31 +02:00
Max Inden fd1889fedb
feat(perf): use m5.xlarge (#284)
Instead of `m5n.8xlarge`, use `m5.xlarge`.

Rational:
- Closer to real-world libp2p deployments (e.g. < 25 Gibps)
- Cheaper (~2 USD vs ~0.2 USD)

m5n.8xlarge:
- 32 vCPUs
- 128.0 GiB of memory
- 25 Gibps of bandwidth - 2019

m5.xlarge
- 4 vCPUs
- 16.0 GiB of memory
- up to 10 Gibps of bandwidth
2023-09-01 19:55:45 +02:00
github-actions[bot] f1ac9bfd12 chore: update the link to the interop dashboard [skip ci] 2023-08-31 16:10:50 +00:00
github-actions[bot] 483c19ca2c chore: update the link to the interop dashboard [skip ci] 2023-08-30 19:36:28 +00:00
github-actions[bot] 24f1cca2ce chore: update the link to the interop dashboard [skip ci] 2023-08-26 05:12:12 +00:00
Marten Seemann 7d6f24afe6
interop: fix description on how to run locally (#278)
* interop: fix description on how to run locally

1. js-libp2p uses a Makefile
2. The listener should be started first, then the dialer

* Update multidim-interop/README.md

Co-authored-by: Max Inden <mail@max-inden.de>

---------

Co-authored-by: Max Inden <mail@max-inden.de>
2023-08-25 21:42:50 -07:00
Prithvi Shahi 20b73dd172
chore: add perf to readme (#271) 2023-08-25 07:47:09 -07:00
Chad Nehemiah c39bfb9b32
feat(perf): add js-libp2p NodeJS (#244)
Co-authored-by: Max Inden <mail@max-inden.de>
2023-08-25 11:09:01 +02:00
Max Inden d1ff642e9b
fix(perf): remove obsolete quinn build infra (#274)
Implementation has been removed with https://github.com/libp2p/test-plans/pull/246.
2023-08-24 15:08:23 +02:00
github-actions[bot] 8bf6d03752 chore: update the link to the interop dashboard [skip ci] 2023-08-24 08:24:59 +00:00
Max Inden 54fe78c332
fix(interop/rust/wasm): bump version to use chrome 115 (#273)
Bump rust-libp2p v0.52 interop version to include
https://github.com/libp2p/rust-libp2p/pull/4383 which fixes issue in
https://github.com/libp2p/go-libp2p/pull/2506.
2023-08-24 09:49:23 +02:00
Chad Nehemiah eebc07b1b4
docs(perf): Added new CLI flags for iterations + updated docs (#258) 2023-08-23 23:19:11 -07:00
github-actions[bot] 947ad8abbd chore: update the link to the interop dashboard [skip ci] 2023-08-23 18:18:51 +00:00
Prithvi Shahi 055eb0745d
chore: add go-libp2p v0.30 and remove v0.27 and v0.28 (#269)
* chore: add go-libp2p v0.30 and remove v0.27 and v0.28

* remove quic and mplex in v0.30
2023-08-23 10:37:12 -07:00
Prithvi Shahi 7d5710dbdb
ci: only run interop tests on changes to multidim-interop dir (#272) 2023-08-23 07:31:11 -07:00
Prithvi Shahi 2a4e313301
ci: only run interop tests on changes to multidim-interop dir (#270) 2023-08-22 08:52:59 +02:00
github-actions[bot] 03f5d99262 chore: update the link to the interop dashboard [skip ci] 2023-08-21 09:06:06 +00:00
Max Inden 826444d867
fix(perf): install nvm for ec2-user instead of root (#267)
On root the nvm install script can not find a shell config.

```
=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zprofile, ~/.zshrc, and ~/.profile.
```
2023-08-21 10:22:39 +02:00
github-actions[bot] 6fae3e5843 chore: update the link to the interop dashboard [skip ci] 2023-08-18 16:32:12 +00:00
github-actions[bot] 742d6c80bf chore: update the link to the interop dashboard [skip ci] 2023-08-18 16:03:38 +00:00
Marco Munizaga 0e29408daa
Disable browser webrtc tests (#265) 2023-08-18 08:25:43 -07:00
github-actions[bot] 4507e91ef1 chore: update the link to the interop dashboard [skip ci] 2023-08-18 12:52:39 +00:00
Max Inden f57408de37
chore(perf): install NodeJS LTS on VMs (#266)
Needed for js-libp2p perf implementation.

https://github.com/libp2p/test-plans/pull/244/
2023-08-18 14:23:06 +02:00
github-actions[bot] 9caabc8d0d chore: update the link to the interop dashboard [skip ci] 2023-08-17 13:54:54 +00:00
github-actions[bot] 0ea4725525 chore: update the link to the interop dashboard [skip ci] 2023-08-17 13:40:35 +00:00
Max Inden e5b7e0e16e
fix(perf): use `$Default` launch template (#257)
Our perf terraform setup differentiates in long lived and short lived resources.
On CI, our long lived resources are spun up once and our short lived resources
are spun up on each CI run. From time to time we have to adjust the long lived
resources. End result is a new launch template that needs to be referenced in
the short lived resources by version.

Next to our CI, the perf terraform setup can as well be used on personal AWS
accounts. Their long lived launch template version likely doesn't match the
configured launch template version of the short lived aws_instance.

Instead of specifying a specific version, instruct terraform to use the default,
thus supporting both our CI and personal AWS account use-case.
2023-08-17 15:02:23 +02:00
github-actions[bot] c763d1fdce chore: update the link to the interop dashboard [skip ci] 2023-08-17 12:12:06 +00:00
github-actions[bot] 142557b9eb chore: update the link to the interop dashboard [skip ci] 2023-08-14 14:37:06 +00:00
Max Inden 8e2c837599
fix(perf): increase maximum udp send buffer size (#254)
Previously only the maximum udp **receive** buffer size was increased to
`2500000` bytes. With this commit both the send and the receive buffer size is increase.
2023-08-14 16:08:41 +02:00
github-actions[bot] 6c964a96eb chore: update the link to the interop dashboard [skip ci] 2023-08-11 23:09:16 +00:00
github-actions[bot] 07be41335b chore: update the link to the interop dashboard [skip ci] 2023-08-11 19:44:54 +00:00
Prithvi Shahi da62ebc979
chore: rm rust-libp2p v0.49 and v0.50, update v0.52 (#253) 2023-08-11 12:17:07 -07:00
github-actions[bot] 28567c70da chore: update the link to the interop dashboard [skip ci] 2023-08-11 18:02:30 +00:00
Prithvi Shahi 55e43bd610
chore: update go-libp2p releases and rm v0.25 & v0.26 (#252) 2023-08-11 10:33:33 -07:00
github-actions[bot] e0b459639a chore: update the link to the interop dashboard [skip ci] 2023-08-10 03:31:22 +00:00
Prithvi Shahi b0b8ad8a62
chore: add js-libp2p v0.46.x, rm v0.44, rm v0.45 browser tests (#251) 2023-08-09 20:04:43 -07:00
github-actions[bot] da5d3f4924 chore: update the link to the interop dashboard [skip ci] 2023-08-09 23:58:35 +00:00
github-actions[bot] a674f734cc chore: update the link to the interop dashboard [skip ci] 2023-08-04 17:17:09 +00:00
Max Inden ad43602e63
fix(perf): increase root volume size (#249)
Multiple perf runs have failed due to "no space left on device". See e.g. https://github.com/libp2p/test-plans/actions/runs/5727165977/job/15527780097.

The perf terraform launch template previously did not specify a root volume
size. Thus terraform used the default:

```
df -h

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs            63G     0   63G   0% /dev/shm
tmpfs            25G  540K   25G   1% /run
/dev/nvme0n1p1  8.0G  1.9G  6.1G  24% /
tmpfs            63G     0   63G   0% /tmp
tmpfs            13G     0   13G   0% /run/user/1000
```

With this commit the root volume is increased to 100GB:

```
df -h

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs            63G     0   63G   0% /dev/shm
tmpfs            25G  564K   25G   1% /run
/dev/nvme0n1p1  100G  2.6G   98G   3% /
tmpfs            63G  8.0K   63G   1% /tmp
tmpfs            13G     0   13G   0% /run/user/0
tmpfs            13G     0   13G   0% /run/user/1000
```
2023-08-04 18:50:32 +02:00
github-actions[bot] b31b44fbde chore: update the link to the interop dashboard [skip ci] 2023-08-04 08:49:48 +00:00
Max Inden cfd1049e8a
fix(perf): run iperf on TCP and set TCP windows to bdp (#241)
This commit makes iperf use TCP instead of UDP. Using UDP allows the sender to
send as much data as they can, not as much data as the receiver can handle.
Using TCP measures the actual bandwidth of the connection.

This commit sets the TCP send and receive window to the bandwidth-delay-product.
In order to exhaust the whole bandwidth between the two nodes, TCP needs to be
able to buffer all bytes on the wire in the case of packet loss.
2023-08-04 10:23:47 +02:00
github-actions[bot] e8c0733ce5 chore: update the link to the interop dashboard [skip ci] 2023-08-01 15:06:26 +00:00
Max Inden ffc7ae0d5f
fix(perf): replace rust-libp2p-quinn/ with rust-libp2p/master (#246)
With https://github.com/libp2p/rust-libp2p/pull/3454 merged we can now test the
new rust-libp2p QUIC implementation based on upstream quinn directly from
rust-libp2p `master`.

This commit does the following in libp2p/test-plans:

1. Remove the `perf/impl/rust-libp2p-quinn` implementation.
2. Introduce the `perf/impl/rust-libp2p/master` version of the rust-libp2p implementation.

We can promote the latter to a proper version on the next rust-libp2p release.
2023-08-01 16:40:02 +02:00
github-actions[bot] 003ac2c02d chore: update the link to the interop dashboard [skip ci] 2023-08-01 01:14:15 +00:00
github-actions[bot] d8913edb57 chore: update the link to the interop dashboard [skip ci] 2023-07-26 17:08:44 +00:00
Max Inden 3d9be81c9a
docs(perf): document how to add a new version of existing impl (#243) 2023-07-26 18:41:49 +02:00
github-actions[bot] 66a596ce53 chore: update the link to the interop dashboard [skip ci] 2023-07-26 12:27:58 +00:00