Joakim Frostegård
3d2ae26b13
ws load test: provide stats on number of active connections
2023-01-25 22:50:16 +01:00
Joakim Frostegård
1d8eec3c44
ws load test: use relaxed atomics
2023-01-25 22:40:35 +01:00
Joakim Frostegård
38a4856242
ws load test: use log crate instead of eprintln
2022-11-12 16:33:25 +01:00
Joakim Frostegård
67c4c02bbd
aquatic_ws: mio: replace native_tls with rustls, rewrite connection state logic completely ( #38 )
...
* ws: mio: use rustls, rewrite Connection logic
* ws: mio: improve poll register/deregister handling
* ws: mio: work on type-level poll registry safety
* ws: mio: use stronger poll registry type-level guarantees
* ws: mio: fix stream reading
* ws: clean up, run fmt
* ws: mio: don't require registered connection for writing, improve docs
* ws: mio: add Connection::get_meta(), make Connection::meta private
* ws: mio: add ConnectionMap struct; remove utils.rs
* ws: mio: move token counter into ConnectionMap, improve docs
* ws: mio: connection: move Connection struct above state structs
* Update TODO
* ws: fix build errors
* ws: upgrade to tungstenite 0.16
* ws load test: don't panic on Close message; print shorter errors
* ws: fix socket worker bugs, add log statements
* ws: mio: wait for write availability if would block for ws messages
* Update README
* ws: mio: limit channels & queues; read 1 message only; other fixes
* ws: mio: send local responses each event; decrease channel size
* Update TODO
* ws: mio: limit ws send queue, fixing memory leak; limit pending messages
Also change some log output levels and run rustfmt
* Update TODO
* Update TODO
2021-12-16 16:09:36 +01:00
Joakim Frostegård
222fac0e09
Improve aquatic_ws glommio implementation, fixing memory leak ( #37 )
...
* ws: upgrade tungstenite and async-tungstenite to 0.16
* ws: use latest glommio
* ws: glommio: add config key connection_cleaning_interval
* ws: glommio: limit socket worker local channel size
Quick fix for memory leak
* ws: glommio: use prioritized task queue for sending responses
This is a start on trying to fix the large amount of responses
being dropped due to local response channel being full
* scripts/watch-threads.sh: don't highlight changes
* ws: glommio: await when sending responses from shared to local
* ws: glommio: limit ws message queue; add lots of ::log::warn for debug
* ws: glommio: add timeout to send_out_message, maybe pinpointing issue
* ws: glommio: clean up, tweak channel sizes; update TODO
* ws: glommio: set send timeout to 10s, add backpressure, accept drops
* ws: glommio: yield if needed in ConnectionReader backoff loop
* ws load test: add config key connection_creation_interval_ms
* ws load test: don't print "run connection" when opening connection
* ws load test: rename config num_connection to num_connections_per_worker
* ws load test config: improve order of code in file
* ws: glommio: info-level log for socket send timeout
* ws glommio: clean idle connections, improve cleaning code
* ws: glommio: make ConnectionWriter::send_error_response fallible; fmt
* ws: glommio: store JoinHandle in conn reference, cancel task on clean
* add scripts/heaptrack.sh
* Update TODO
2021-12-11 18:50:05 +01:00
Joakim Frostegård
78d29770f3
aquatic_ws, aquatic_ws_load_test: cargo fmt
2021-11-02 20:33:14 +01:00
Joakim Frostegård
6d4e090061
ws load test: send offer answers
2021-11-02 11:51:51 +01:00
Joakim Frostegård
839f516dcb
ws load test: rewrite with glommio and futures-rustls
2021-11-02 11:38:11 +01:00
Joakim Frostegård
c02d7f2113
aquatic_ws: run rustfmt
2021-10-16 01:47:10 +02:00
Joakim Frostegård
1d5eb0dff9
aquatic_ws: add ErrorResponse, send it when info hash is not allowed
2021-10-16 01:18:23 +02:00
Joakim Frostegård
d0e716f80b
Run rustfmt, clean up aquatic_http_protocol/Cargo.toml
2021-08-15 22:26:11 +02:00
Joakim Frostegård
0aa781a79c
aquatic_ws_load_test: fix unused variable compiler warnings
2020-08-13 00:54:14 +02:00
Joakim Frostegård
dea88020a5
aquatic ws load test: use longer json value when sending answer
2020-08-12 00:52:07 +02:00
Joakim Frostegård
0a23b62bd5
aquatic ws load test: gen random PeerId per connection
...
Necessary for multiple workers
2020-08-09 00:42:09 +02:00
Joakim Frostegård
6f618bb013
aquatic_ws_load_test: get answer sending to work with wt-tracker
2020-08-03 07:02:42 +02:00
Joakim Frostegård
01fdf40a02
aquatic_ws_load_test: send num_want and better offer fake type
...
This means wt-tracker starts sending offers
2020-08-03 06:52:29 +02:00
Joakim Frostegård
e916780438
aquatic_ws_load_test: for single connection, use same PeerId
2020-08-03 05:27:40 +02:00
Joakim Frostegård
9f445c7c03
aquatic_ws_load_test: fix multiple issues with implementation
2020-08-03 05:15:24 +02:00
Joakim Frostegård
561cc3db55
fix more clippy warnings
2020-08-02 00:36:56 +02:00
Joakim Frostegård
c202d9ba41
udp, ws load test: fix clippy errors
2020-08-01 23:50:01 +02:00
Joakim Frostegård
f561ca9794
ws load test: add config field for connection creation interval
2020-08-01 23:20:55 +02:00
Joakim Frostegård
953154824e
aquatic ws load test: use longer value for request offer/answer fields
2020-08-01 22:57:13 +02:00
Joakim Frostegård
6f2dc6a510
aquatic_ws: add InMessage::from_ws_message, use in load test
2020-08-01 22:45:19 +02:00
Joakim Frostegård
f7eae860d3
aquatic ws load test: improve answer sending
2020-08-01 22:29:58 +02:00
Joakim Frostegård
b0d2f67ab6
aquatic ws load test: send answers, count answer responses
2020-08-01 05:57:52 +02:00
Joakim Frostegård
364606a025
aquatic ws load test: make NUM_CONNECTIONS a config field
2020-08-01 04:37:54 +02:00
Joakim Frostegård
55045279ac
aquatic ws load test: send offers, count offer responses
2020-08-01 04:27:55 +02:00
Joakim Frostegård
a5108f813d
WIP: aquatic_ws: add half-crappy load test, fix infinite loop bug
2020-08-01 03:35:00 +02:00