Joakim Frostegård
8c8489960c
Merge pull request #166 from greatest-ape/work-2024-01-01
...
udp: distribute swarm responses among socket workers; improve aquatic_bencher
2024-01-01 19:34:14 +01:00
Joakim Frostegård
98ce4ca019
bencher: pretty-print RSS
2024-01-01 17:32:55 +01:00
Joakim Frostegård
3d9a35d376
Update CHANGELOG
2024-01-01 17:22:36 +01:00
Joakim Frostegård
d1f9f88850
bencher: tweak udp sets
2024-01-01 17:16:23 +01:00
Joakim Frostegård
efd357a3ec
bencher: fix avg responses extraction bug
2024-01-01 17:11:02 +01:00
Joakim Frostegård
d944f94464
bencher: tweak udp sets
2024-01-01 17:10:22 +01:00
Joakim Frostegård
00f53e307b
bencher: improve html output
2024-01-01 17:00:24 +01:00
Joakim Frostegård
4db1fe75f2
bencher: print html table with full results too, use num_format
2024-01-01 16:42:27 +01:00
Joakim Frostegård
29e243ac81
bencher: move html gen into own module
2024-01-01 15:44:39 +01:00
Joakim Frostegård
b527af7195
udp: distribute announce swarm responses among socket workers
...
They don't have to be sent from the same worker that received the
request, so we can decrease performance loss from underutilized
threads this way.
2024-01-01 14:13:30 +01:00
Joakim Frostegård
7d17213a20
Merge pull request #165 from greatest-ape/bench-setup
...
Improve udp benchmarking
2023-12-30 19:47:27 +01:00
Joakim Frostegård
363c901ca2
bencher: add note in run.rs about stats for multiple threads
2023-12-30 19:32:09 +01:00
Joakim Frostegård
858cea143a
bencher: udp: remove chihaya from high core count load tests
...
It tends to crash here
2023-12-30 19:25:57 +01:00
Joakim Frostegård
b1c2a9bff4
bencher: tweak UDP set config
2023-12-30 19:18:18 +01:00
Joakim Frostegård
23fe6d4e20
bencher: remove chihaya GOMAXPROCS option
...
It makes no difference to performance
2023-12-30 19:14:42 +01:00
Joakim Frostegård
0f469ff725
udp: increase default config value worker_channel_size
2023-12-30 18:16:53 +01:00
Joakim Frostegård
87e7811751
Update bencher settings and setup script
2023-12-30 18:13:55 +01:00
Joakim Frostegård
42a9e8f99e
Add scripts/bench/setup-udp-bookworm.sh
2023-12-30 16:47:11 +01:00
Joakim Frostegård
8c21b89e51
Merge pull request #164 from greatest-ape/bencher-fixes
...
Rename aquatic_load_tester to aquatic_bencher, support chihaya, improve error handling, update sets
2023-12-28 20:20:13 +01:00
Joakim Frostegård
0c500ec4f0
bencher: udp: support chihaya, improve error handling, update sets
2023-12-28 20:04:10 +01:00
Joakim Frostegård
af45feb911
Rename aquatic_load_tester to aquatic_bencher
2023-12-28 17:42:25 +01:00
Joakim Frostegård
6f9b0fce7b
Merge pull request #163 from greatest-ape/load-test-fixes
...
load tester: refactor, add udp sets, improve docs, add command options; update README
2023-12-27 21:44:38 +01:00
Joakim Frostegård
0317053f80
load tester: refactor, add udp sets, improve docs, add command options
2023-12-27 21:22:58 +01:00
Joakim Frostegård
7b6bb12c9e
Update README
2023-12-27 19:08:00 +01:00
Joakim Frostegård
3fde7d626d
Merge pull request #162 from greatest-ape/udp-validator-fixes
...
udp: harden ConnectionValidator; run cargo update
2023-12-26 00:32:50 +01:00
Joakim Frostegård
a3b6cab3b5
Run cargo update
...
Updating anyhow v1.0.75 -> v1.0.76
Removing base64 v0.13.1
Updating clap v4.4.8 -> v4.4.11
Updating clap_builder v4.4.8 -> v4.4.11
Updating colored v2.0.4 -> v2.1.0
Updating crossbeam v0.8.2 -> v0.8.3
Updating crossbeam-channel v0.5.8 -> v0.5.10
Updating crossbeam-deque v0.8.3 -> v0.8.4
Updating crossbeam-epoch v0.9.15 -> v0.9.17
Updating crossbeam-queue v0.3.8 -> v0.3.10
Updating crossbeam-utils v0.8.16 -> v0.8.18
Updating data-encoding v2.4.0 -> v2.5.0
Updating deranged v0.3.9 -> v0.3.10
Updating errno v0.3.7 -> v0.3.8
Updating form_urlencoded v1.2.0 -> v1.2.1
Updating futures v0.3.29 -> v0.3.30
Updating futures-channel v0.3.29 -> v0.3.30
Updating futures-core v0.3.29 -> v0.3.30
Updating futures-executor v0.3.29 -> v0.3.30
Updating futures-io v0.3.29 -> v0.3.30
Updating futures-macro v0.3.29 -> v0.3.30
Updating futures-sink v0.3.29 -> v0.3.30
Updating futures-task v0.3.29 -> v0.3.30
Updating futures-util v0.3.29 -> v0.3.30
Updating gimli v0.28.0 -> v0.28.1
Updating hashbrown v0.14.2 -> v0.14.3
Updating hdrhistogram v7.5.3 -> v7.5.4
Updating http-body v0.4.5 -> v0.4.6
Updating hyper v0.14.27 -> v0.14.28
Updating idna v0.4.0 -> v0.5.0
Updating itoa v1.0.9 -> v1.0.10
Updating js-sys v0.3.65 -> v0.3.66
Updating libc v0.2.150 -> v0.2.151
Updating linux-raw-sys v0.4.11 -> v0.4.12
Updating mach2 v0.4.1 -> v0.4.2
Updating metrics-exporter-prometheus v0.12.1 -> v0.12.2
Updating metrics-macros v0.7.0 -> v0.7.1
Updating mio v0.8.9 -> v0.8.10
Updating object v0.32.1 -> v0.32.2
Updating once_cell v1.18.0 -> v1.19.0
Updating percent-encoding v2.3.0 -> v2.3.1
Updating pkg-config v0.3.27 -> v0.3.28
Updating portable-atomic v1.5.1 -> v1.6.0
Updating proc-macro2 v1.0.69 -> v1.0.71
Updating ring v0.17.5 -> v0.17.7
Updating rustix v0.38.24 -> v0.38.28
Updating rustls v0.21.9 -> v0.21.10
Updating ryu v1.0.15 -> v1.0.16
Updating serde v1.0.192 -> v1.0.193
Updating serde_derive v1.0.192 -> v1.0.193
Updating serde_spanned v0.6.4 -> v0.6.5
Updating simple_logger v4.2.0 -> v4.3.0
Updating slotmap v1.0.6 -> v1.0.7
Updating syn v2.0.39 -> v2.0.43
Updating thiserror v1.0.50 -> v1.0.52
Updating thiserror-impl v1.0.50 -> v1.0.52
Updating time v0.3.30 -> v0.3.31
Updating time-macros v0.2.15 -> v0.2.16
Updating tokio v1.34.0 -> v1.35.1
Updating try-lock v0.2.4 -> v0.2.5
Updating unicode-bidi v0.3.13 -> v0.3.14
Updating url v2.4.1 -> v2.5.0
Updating wasm-bindgen v0.2.88 -> v0.2.89
Updating wasm-bindgen-backend v0.2.88 -> v0.2.89
Updating wasm-bindgen-macro v0.2.88 -> v0.2.89
Updating wasm-bindgen-macro-support v0.2.88 -> v0.2.89
Updating wasm-bindgen-shared v0.2.88 -> v0.2.89
Updating web-sys v0.3.65 -> v0.3.66
Removing windows-sys v0.42.0
Removing windows_aarch64_gnullvm v0.42.2
Removing windows_aarch64_msvc v0.42.2
Removing windows_i686_gnu v0.42.2
Removing windows_i686_msvc v0.42.2
Removing windows_x86_64_gnu v0.42.2
Removing windows_x86_64_gnullvm v0.42.2
Removing windows_x86_64_msvc v0.42.2
Updating winnow v0.5.28 -> v0.5.30
Updating zerocopy v0.7.26 -> v0.7.32
Updating zerocopy-derive v0.7.26 -> v0.7.32
2023-12-26 00:21:20 +01:00
Joakim Frostegård
ba8bdd6ae6
udp: harden ConnectionValidator
2023-12-26 00:19:47 +01:00
Joakim Frostegård
5870b53c83
Merge pull request #161 from greatest-ape/auto-load-tester
...
Add aquatic_load_tester: multi-run multi-implementation load tests
2023-12-25 23:19:29 +01:00
Joakim Frostegård
afc3deb656
Add aquatic_load_tester: multi-run multi-implementation load tests
...
- Work in progress
- Only UDP is currently implemented so far
- Also includes some changes to other crates, notably deriving
serde Serialize for Config structs and making udp_load_test
a lib and a binary
2023-12-17 21:59:18 +01:00
Joakim Frostegård
c7997d5aed
Merge pull request #160 from greatest-ape/udp-thingbuf2
...
udp improvements; update dependencies
2023-12-10 12:31:22 +01:00
Joakim Frostegård
d84e4512ad
Merge branch 'master' into udp-thingbuf2
2023-12-10 12:27:37 +01:00
Joakim Frostegård
633df4dc42
Run cargo update
...
Removing base64 v0.13.1
Updating clap v4.4.8 -> v4.4.11
Updating clap_builder v4.4.8 -> v4.4.11
Updating colored v2.0.4 -> v2.1.0
Updating data-encoding v2.4.0 -> v2.5.0
Updating deranged v0.3.9 -> v0.3.10
Updating errno v0.3.7 -> v0.3.8
Updating form_urlencoded v1.2.0 -> v1.2.1
Updating gimli v0.28.0 -> v0.28.1
Updating hashbrown v0.14.2 -> v0.14.3
Updating hdrhistogram v7.5.3 -> v7.5.4
Updating http-body v0.4.5 -> v0.4.6
Updating idna v0.4.0 -> v0.5.0
Updating itoa v1.0.9 -> v1.0.10
Updating js-sys v0.3.65 -> v0.3.66
Updating linux-raw-sys v0.4.11 -> v0.4.12
Updating mio v0.8.9 -> v0.8.10
Updating once_cell v1.18.0 -> v1.19.0
Updating percent-encoding v2.3.0 -> v2.3.1
Updating portable-atomic v1.5.1 -> v1.6.0
Updating proc-macro2 v1.0.69 -> v1.0.70
Updating ring v0.17.5 -> v0.17.7
Updating rustix v0.38.24 -> v0.38.28
Updating rustls v0.21.9 -> v0.21.10
Updating ryu v1.0.15 -> v1.0.16
Updating serde v1.0.192 -> v1.0.193
Updating serde_derive v1.0.192 -> v1.0.193
Updating simple_logger v4.2.0 -> v4.3.0
Updating slotmap v1.0.6 -> v1.0.7
Updating tokio v1.34.0 -> v1.35.0
Updating try-lock v0.2.4 -> v0.2.5
Updating unicode-bidi v0.3.13 -> v0.3.14
Updating url v2.4.1 -> v2.5.0
Updating wasm-bindgen v0.2.88 -> v0.2.89
Updating wasm-bindgen-backend v0.2.88 -> v0.2.89
Updating wasm-bindgen-macro v0.2.88 -> v0.2.89
Updating wasm-bindgen-macro-support v0.2.88 -> v0.2.89
Updating wasm-bindgen-shared v0.2.88 -> v0.2.89
Updating web-sys v0.3.65 -> v0.3.66
Updating windows-sys v0.42.0 -> v0.52.0
Adding windows-targets v0.52.0
Updating windows_aarch64_gnullvm v0.42.2 -> v0.52.0
Updating windows_aarch64_msvc v0.42.2 -> v0.52.0
Updating windows_i686_gnu v0.42.2 -> v0.52.0
Updating windows_i686_msvc v0.42.2 -> v0.52.0
Updating windows_x86_64_gnu v0.42.2 -> v0.52.0
Updating windows_x86_64_gnullvm v0.42.2 -> v0.52.0
Updating windows_x86_64_msvc v0.42.2 -> v0.52.0
Updating zerocopy v0.7.26 -> v0.7.30
Updating zerocopy-derive v0.7.26 -> v0.7.30
2023-12-10 12:17:50 +01:00
Joakim Frostegård
3eb75f7c57
Update script for running file transfer tests locally
2023-12-10 12:17:26 +01:00
Joakim Frostegård
cb39eb69c8
udp: reorder code in swarm storage
2023-12-10 12:13:56 +01:00
Joakim Frostegård
a873dddb89
Remove unused aquatic_udp_bench
2023-12-10 12:09:53 +01:00
Joakim Frostegård
0c4140165b
udp: reuse response channel mem, add backpressure, faster peer extract
2023-12-10 12:07:38 +01:00
Joakim Frostegård
0e12dd1b13
use zerocopy in udp protocol, easy running transfer CI locally
2023-12-02 12:24:41 +01:00
Joakim Frostegård
af16a9e682
udp: fix io_uring soundness issues
2023-11-23 18:52:13 +01:00
Joakim Frostegård
e2a321196b
Merge pull request #158 from greatest-ape/fixes-2
...
http: split swarm worker module into submodules
2023-11-19 09:43:10 +01:00
Joakim Frostegård
7cfcf5ea55
http: split swarm worker module into submodules
2023-11-18 00:29:15 +01:00
Joakim Frostegård
3f2a87b10f
Merge pull request #157 from greatest-ape/fixes-1
...
http: allow disabling TLS, allow reverse proxies, general fixes; improve ws code; cargo update
2023-11-17 18:33:40 +01:00
Joakim Frostegård
2520b2cbbd
Fix GitHub CI build
2023-11-17 18:29:34 +01:00
Joakim Frostegård
d7e9b688d9
Run cargo update
...
Removing ahash v0.7.6
Removing ahash v0.8.3
Adding ahash v0.7.7
Adding ahash v0.8.6
Updating base64 v0.21.4 -> v0.21.5
Updating clap v4.4.6 -> v4.4.8
Updating clap_builder v4.4.6 -> v4.4.8
Updating clap_lex v0.5.1 -> v0.6.0
Updating cpufeatures v0.2.9 -> v0.2.11
Updating errno v0.3.5 -> v0.3.7
Updating futures v0.3.28 -> v0.3.29
Updating futures-channel v0.3.28 -> v0.3.29
Updating futures-core v0.3.28 -> v0.3.29
Updating futures-executor v0.3.28 -> v0.3.29
Updating futures-io v0.3.28 -> v0.3.29
Updating futures-macro v0.3.28 -> v0.3.29
Updating futures-sink v0.3.28 -> v0.3.29
Updating futures-task v0.3.28 -> v0.3.29
Updating futures-util v0.3.28 -> v0.3.29
Updating getrandom v0.2.10 -> v0.2.11
Updating hashbrown v0.14.1 -> v0.14.2
Updating hdrhistogram v7.5.2 -> v7.5.3
Updating http v0.2.9 -> v0.2.11
Updating indexmap v2.0.2 -> v2.1.0
Updating ipnet v2.8.0 -> v2.9.0
Updating js-sys v0.3.64 -> v0.3.65
Updating libc v0.2.149 -> v0.2.150
Updating linux-raw-sys v0.4.10 -> v0.4.11
Updating mio v0.8.8 -> v0.8.9
Updating portable-atomic v1.4.3 -> v1.5.1
Updating redox_syscall v0.3.5 -> v0.4.1
Updating ring v0.16.20 -> v0.17.5
Updating rustix v0.38.19 -> v0.38.24
Updating rustls v0.21.7 -> v0.21.9
Updating rustls-pemfile v1.0.3 -> v1.0.4
Updating rustls-webpki v0.101.6 -> v0.101.7
Updating sct v0.7.0 -> v0.7.1
Updating serde v1.0.189 -> v1.0.192
Updating serde_derive v1.0.189 -> v1.0.192
Updating serde_json v1.0.107 -> v1.0.108
Updating smallvec v1.11.1 -> v1.11.2
Removing socket2 v0.4.9
Removing socket2 v0.5.4
Adding socket2 v0.4.10
Adding socket2 v0.5.5
Removing spin v0.5.2
Updating syn v2.0.38 -> v2.0.39
Updating tempfile v3.8.0 -> v3.8.1
Updating thiserror v1.0.49 -> v1.0.50
Updating thiserror-impl v1.0.49 -> v1.0.50
Updating tokio v1.33.0 -> v1.34.0
Updating tracing v0.1.39 -> v0.1.40
Updating untrusted v0.7.1 -> v0.9.0
Updating wasm-bindgen v0.2.87 -> v0.2.88
Updating wasm-bindgen-backend v0.2.87 -> v0.2.88
Updating wasm-bindgen-macro v0.2.87 -> v0.2.88
Updating wasm-bindgen-macro-support v0.2.87 -> v0.2.88
Updating wasm-bindgen-shared v0.2.87 -> v0.2.88
Updating web-sys v0.3.64 -> v0.3.65
Adding zerocopy v0.7.26
Adding zerocopy-derive v0.7.26
2023-11-17 18:22:00 +01:00
Joakim Frostegård
923b3637e8
http: allow disabling TLS, allow reverse proxies, general fixes
2023-11-17 18:16:29 +01:00
Joakim Frostegård
7b2a7a4f46
ws: improve socket worker connection code
2023-11-17 00:15:41 +01:00
Joakim Frostegård
fe5ccf6646
ws: refactor, bug fixes, improvements ( #155 )
...
- split swarm worker into two modules
- split socket worker into two modules
- keep track of which offers peers have sent and only allow matching
answers
- always clean up after closing connection
- use channel for telling connections to close
- move some logic into new ConnectionRunner struct
- use slotmap for connection reference storage
- fix double counting of error responses
- actually close connections that take too long to send responses to
- remove announced_info_hashes entry on AnnounceEvent::Stopped
2023-11-09 18:06:21 +01:00
Joakim Frostegård
af9d5a55f6
Merge pull request #154 from greatest-ape/work-2023-10-30
...
improve ws protocol struct naming and documentation; update TODO
2023-10-30 22:44:06 +01:00
Joakim Frostegård
dadb227c63
Update TODO
2023-10-30 20:19:51 +01:00
Joakim Frostegård
577161e540
ws protocol: simplify code for AnnounceAction and ScrapeAction
2023-10-30 19:49:45 +01:00
Joakim Frostegård
d94936a50b
ws: require offer/answer sdp field to be String, fix related code
2023-10-30 19:37:25 +01:00