83088644da
by leaving the buffer sizes on default, we get much better tcp performance for high latency links throughput is still impacted by latency, but much less so when leaving the sizes at default. the disadvantage is slightly higher memory usage of the server (details below) my local benchmarks (proxmox-backup-client benchmark): pbs client: PVE Host Epyc 7351P (16core/32thread) 64GB Memory pbs server: VM on Host 1 Socket, 4 Cores (Host CPU type) 4GB Memory average of 3 runs, rounded to MB/s | no delay | 1ms | 5ms | 10ms | 25ms | without this patch | 230MB/s | 55MB/s | 13MB/s | 7MB/s | 3MB/s | with this patch | 293MB/s | 293MB/s | 249MB/s | 241MB/s | 104MB/s | memory usage (resident memory) of proxmox-backup-proxy: | peak during benchmarks | after benchmarks | without this patch | 144MB | 100MB | with this patch | 145MB | 130MB | Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> |
||
---|---|---|
.cargo | ||
debian | ||
docs | ||
etc | ||
examples | ||
src | ||
tests | ||
www | ||
zsh-completions | ||
.gitignore | ||
Cargo.toml | ||
Makefile | ||
README.rst | ||
TODO.rst | ||
defines.mk | ||
rustfmt.toml |
README.rst
``rustup`` Toolchain ==================== We normally want to build with the ``rustc`` Debian package. To do that you can set the following ``rustup`` configuration: # rustup toolchain link system /usr # rustup default system Versioning of proxmox helper crates =================================== To use current git master code of the proxmox* helper crates, add:: git = "ssh://gitolite3@proxdev.maurer-it.com/rust/proxmox" or:: path = "../proxmox/proxmox" to the proxmox dependency, and update the version to reflect the current, pre-release version number (e.g., "0.1.1-dev.1" instead of "0.1.0"). Local cargo config ================== This repository ships with a ``.cargo/config`` that replaces the crates.io registry with packaged crates located in ``/usr/share/cargo/registry``. A similar config is also applied building with dh_cargo. Cargo.lock needs to be deleted when switching between packaged crates and crates.io, since the checksums are not compatible. To reference new dependencies (or updated versions) that are not yet packaged, the dependency needs to point directly to a path or git source (e.g., see example for proxmox crate above).