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
Joakim Frostegård
78645fe658
ws: auto-close connections after grace period when updating tls config
2023-10-24 20:23:30 +02:00