Commit graph

205 commits

Author SHA1 Message Date
Joakim Frostegård
99791c7154 udp load test: store info hashes as Arc slice to save space 2024-01-04 17:24:35 +01:00
Joakim Frostegård
0eaa4475e2 udp: index peers by packet src ip and provided port instead of peer_id 2024-01-04 17:04:17 +01:00
Joakim Frostegård
df13ae9399 bencher: update config defaults, use load test max_response_peers 2024-01-03 19:52:03 +01:00
Joakim Frostegård
bbe09bd0df udp load test: improve config defaults, add announce_peers_wanted field 2024-01-03 19:49:28 +01:00
Joakim Frostegård
255edf1b16 bencher: always listen on localhost 2024-01-03 17:38:06 +01:00
Joakim Frostegård
85862f161a bencher: add args duration and summarize_last (seconds) 2024-01-03 17:36:04 +01:00
Joakim Frostegård
7863782413 udp load test: add config.summarize_last: only summarize last N seconds 2024-01-03 17:07:06 +01:00
Joakim Frostegård
e18b50227c bencher: implement load test run priorities 2024-01-03 16:47:01 +01:00
Joakim Frostegård
74155b4d79 bench: udp: remove 3 cpu core sets to save runtime 2024-01-02 17:41:42 +01:00
Joakim Frostegård
ff50b010fb bench: tweak udp sets 2024-01-02 17:26:44 +01:00
Joakim Frostegård
e76394b60d udp: decrease default worker_channel_size to 1024 2024-01-02 17:25:54 +01:00
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
98ce4ca019 bencher: pretty-print RSS 2024-01-01 17:32:55 +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
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