Commit graph

77 commits

Author SHA1 Message Date
Joakim Frostegård
9d1bba5e92 udp: fix/silence clippy warnings 2024-01-20 10:08:53 +01:00
Joakim Frostegård
5401eaf85f Run cargo clippy --fix and cargo fmt 2024-01-20 09:56:14 +01:00
Joakim Frostegård
22e151d0f0 http: start awaiting conn close message before tls setup 2024-01-20 09:43:55 +01:00
Joakim Frostegård
0c03048ce8 udp: update metrics crate 2024-01-20 09:42:17 +01:00
Joakim Frostegård
1a6b4345d4 udp: remove thingbuf in favor of crossbeam channel
thingbuf didn't have obvious performance advantages and is a lot less
mature. Furthermore, it doesn't support anything like crossbeam
Receiver::try_iter, which is prefereable now that announce responses
can be sent to any socket worker.
2024-01-20 09:41:07 +01:00
Joakim Frostegård
e77c9f46e7 udp: store torrents with few peers without an extra heap alloc 2024-01-20 09:40:09 +01:00
Joakim Frostegård
0dae7fd533 ws protocol: remove glob exports; adjust dependent crates 2024-01-08 20:16:46 +01:00
Joakim Frostegård
27ecccd984 ws load test: store global info hashes as Arc<[InfoHash]> 2024-01-08 20:07:15 +01:00
Joakim Frostegård
34167371b0 ws load test: refactor network module 2024-01-08 20:02:30 +01:00
Joakim Frostegård
64926ba46a ws load test: clean up, slight code refactor 2024-01-08 19:37:01 +01:00
Joakim Frostegård
2279e8390e ws load test: send answers regarding correct info_hash 2024-01-08 19:09:17 +01:00
Joakim Frostegård
d4c95d89c0 ws: swarm: remove peer ValidUntil update task, just create when needed 2024-01-08 18:54:11 +01:00
Joakim Frostegård
36954e5f48 ws: SwarmControlMessage::ConnectionClosed: use Vec for info hashes 2024-01-08 18:51:39 +01:00
Joakim Frostegård
4c831643b1 ws: remove ineffective backpressure implementation 2024-01-08 18:41:24 +01:00
Joakim Frostegård
188da135ab ws: add Connection backpressure channel instead of spawning tasks
Seems to fix memory leak issue
2024-01-07 11:27:03 +01:00
Joakim Frostegård
6e7d36cffc ws: add mimalloc feature to make it easier to disable it 2024-01-07 10:41:11 +01:00
Joakim Frostegård
3042539101 update ws dependencies as well as http rustls dependency 2024-01-07 10:40:50 +01:00
Joakim Frostegård
071f088d8b ws: socket worker: wait for interal close message in priority queue 2024-01-06 00:13:18 +01:00
Joakim Frostegård
579fcb2140 ws: don't yield unnecessarily in run_in_message_loop, improve logging 2024-01-05 23:13:31 +01:00
Joakim Frostegård
d48deeff8c udp load test: refactor worker 2024-01-04 18:34:18 +01:00
Joakim Frostegård
1e9b5c450c udp load test: use fixed rng seed 2024-01-04 17:58:11 +01:00
Joakim Frostegård
55516956ca udp load test: store peer scrape_hash_indices as boxed slice 2024-01-04 17:51:45 +01:00
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