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
473276cd46
Switch to rust edition 2021
2021-11-24 18:56:26 +01:00
Joakim Frostegård
028a366ce5
Don't unnecessarily constrain crate versions in Cargo.toml files
2021-11-19 02:45:53 +01:00
Joakim Frostegård
4f8328b70a
Feature-gate CPU pinning, since it only works on Linux
2021-11-09 11:40:16 +01:00
Joakim Frostegård
e86410291a
cpu pinning: set affinity to multiple hyperthreads, fix issues
2021-11-07 13:31:03 +01:00
Joakim Frostegård
b653e3e3ff
ws load test: add cpu pinning and log crate logging
2021-11-07 12:00:36 +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
814cd0e6d0
aquatic_ws_load_test: remove unused config fields
2021-11-02 16:34:22 +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
fae0692f90
Upgrade tungstenite
2021-08-16 23:22:56 +02:00
Joakim Frostegård
32541c5c15
Upgrade hashbrown
2021-08-15 22:29:09 +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
f728669401
Update tungstenite to version 0.13
2021-02-10 18:36:23 +01:00
Joakim Frostegård
405df71371
Upgrade tungstenite to version 0.12
2021-02-10 18:36:23 +01:00
Joakim Frostegård
f9626ade57
Upgrade quickcheck to 1.0, adjust code, optimizing a slow test
2021-02-10 18:36:23 +01:00
Joakim Frostegård
e1260d14de
Update rand to 0.8 and rand_distr to 0.4
2021-02-10 18:36:23 +01:00
Joakim Frostegård
fe11ed138a
Use (patched) crates.io deps for crates, add some package metadata
2020-09-13 17:30:26 +02:00
Joakim Frostegård
66e9882f48
Update dependencies
2020-09-10 23:23:21 +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
9efc1fc66a
add aquatic crate with master executable, refactor cli_helpers
2020-08-13 00:13:01 +02:00
Joakim Frostegård
01a3e7795a
aquatic ws load test: set default num_connections to 16
2020-08-12 01:38:29 +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
0c168404db
aquatic ws load test: add offers_per_request config var, default 10
2020-08-12 00:42:21 +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
0637f83daa
aquatic_ws: rewrite failing serialization, add tests
...
Use different approach to action fields and info_hash vec, fixing
failing tests
2020-08-09 00:26:26 +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
8d58f8bb70
init logger in aquatic_cli_helpers crate
2020-08-02 21:21:58 +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
e026a366f7
aquatic ws load test: fix cli program name
2020-08-01 06:42:27 +02:00
Joakim Frostegård
d44d513879
aquatic ws load test: remove unused stats
2020-08-01 06:01:26 +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