Commit graph

1983 commits

Author SHA1 Message Date
Joakim Frostegård
6870a9e9c4 udp: lower log level from info to debug for several mio statements 2024-01-02 17:00:22 +01:00
Joakim Frostegård
4249a7f48d udp: improve defaults for worker channel size and socket recv buffer 2024-01-02 16:59:08 +01:00
Joakim Frostegård
c4e644cb23 udp: log (info-level) estimated channel memory use 2024-01-02 16:57:46 +01:00
Joakim Frostegård
8ad799042e bencher: tweak udp sets, update TODO 2024-01-02 16:56:52 +01:00
Joakim Frostegård
2d959ee8fc
Merge pull request #167 from greatest-ape/work-2024-01-01
Update scripts/bench/setup-udp-bookworm.sh: install kernel from bookworm-backports
2024-01-01 19:53:25 +01:00
Joakim Frostegård
602b71cdd6 Update scripts/bench/setup-udp-bookworm.sh 2024-01-01 19:47:51 +01:00
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