Commit graph

38 commits

Author SHA1 Message Date
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
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
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
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
ba8bdd6ae6 udp: harden ConnectionValidator 2023-12-26 00:19:47 +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
d84e4512ad
Merge branch 'master' into udp-thingbuf2 2023-12-10 12:27:37 +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
7cfcf5ea55 http: split swarm worker module into submodules 2023-11-18 00:29:15 +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
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
Joakim Frostegård
c37bf89650 ws: include "type" field in RtcOffer and RtcAnswer 2023-10-30 19:34:24 +01:00
Joakim Frostegård
0789f7ec3b improve ws protocol struct naming and documentation 2023-10-30 19:13:46 +01:00
Joakim Frostegård
0d83bd51ee ws: skip updating tls cert if file data same as currently loaded 2023-10-24 20:42:18 +02:00
Joakim Frostegård
78645fe658 ws: auto-close connections after grace period when updating tls config 2023-10-24 20:23:30 +02:00
Joakim Frostegård
99647a323a http: reload tls config on SIGUSR1 2023-10-24 18:44:49 +02:00
Joakim Frostegård
6a23ef9103 ws: reload tls config on SIGUSR1 2023-10-24 18:36:56 +02:00
Joakim Frostegård
c5c995bb80
Split README into separate files (#150)
* Create a separate udp README file

* Split README into separate files for all three implementations

* Minor README fixes
2023-10-19 19:59:11 +02:00
Joakim Frostegård
9b032f7e24 Move all crates to new crates dir 2023-10-18 23:53:41 +02:00