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
Joakim Frostegård
87e7811751
Update bencher settings and setup script
2023-12-30 18:13:55 +01:00