Commit graph

21 commits

Author SHA1 Message Date
Joakim Frostegård
373e8277e0 ws load test: enable measuring once all connections are open 2023-01-26 02:35:43 +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
db561a1101 Use gamma distribution for all load testers 2022-10-26 19:49:30 +02:00
Joakim Frostegård
cedf0b61ca Exit with error message on unrecognized config keys 2022-07-05 11:26:46 +02:00
Joakim Frostegård
bd6764afaf Move aquatic_cli_helpers code into aquatic_common and remove crate 2022-04-06 19:02:39 +02:00
Joakim Frostegård
6c149331dc Rewrite CpuPinningConfig implementation to support aquatic_toml_config 2022-04-04 22:38:47 +02:00
Joakim Frostegård
fb607ac0c2 Improve CPU pinning 2022-03-30 22:53:15 +02:00
Joakim Frostegård
f18fc52675 Run cargo fmt 2022-02-20 00:45:04 +01:00
Joakim Frostegård
14a4c10546 s/toml_config/aquatic_toml_config/ 2022-02-19 15:11:00 +01:00
Joakim Frostegård
a208775104
Include documentation in printed config files (#41)
* Start work on printing toml config with comments

* WIP: toml_config: extract default values for fields

* WIP: toml_config: handle single-level nested structs

* WIP: toml_config: improve comment handling, std type trait impls

* WIP: toml_config: add Private trait, improve comment handling, clean up

* toml_config: fix default value bug; improve tests

* Use toml_config in all applicable crates; add toml_config enum support

* toml_config: improve comments

* toml_config_derive: support enum comments

* Improve config comments for udp, cli_helpers, common

* Improve config comments

* Add tests for Config struct TomlConfig implementations

* Improve Config comments

* Improve Config comments

* ws, http: add config comments for tls cert and private key lines

* small fixes to toml_config and toml_config_derive

* Run cargo fmt

* Fix typo in several config comments

* Update README

* Update README
2021-12-26 11:33:27 +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
4f8328b70a Feature-gate CPU pinning, since it only works on Linux 2021-11-09 11:40:16 +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
814cd0e6d0 aquatic_ws_load_test: remove unused config fields 2021-11-02 16:34:22 +01: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
01a3e7795a aquatic ws load test: set default num_connections to 16 2020-08-12 01:38:29 +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
8d58f8bb70 init logger in aquatic_cli_helpers crate 2020-08-02 21:21:58 +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
364606a025 aquatic ws load test: make NUM_CONNECTIONS a config field 2020-08-01 04:37:54 +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