Some preliminary test laptop off-campus. The first is to the direct endpoint for login004 and the second is for the sshpiper interface. It looks like the sshpiper interface starts off at the same rate ~1.2MiB/s but then drops to about half that throughput steady. As the drop occurs it first drops very low 10-20KiB/s then picks up to the 500-600KiB/s steady state. That suggest we may have a tuning issue to address with sshpiper.
As seen on a few such tests, the proxy connection seems to range from 1.08MiB/s to 1.47MiB/s on the network i've been on while testing both login004 and ssh-proxy
To further analyze the performance of the SSH proxy, I conducted tests comparing direct SSH connections with those routed through SSHPiper. Instead of streaming /dev/zero, I used a fixed 20MB test file (20mb-data) to ensure consistency across runs.
Reads the contents of a 20MB file (20mb-data) and sends it as input to the next command.This ensures a fixed, consistent test dataset instead of streaming random data.2. pv -N "Direct" (or "Proxy") --numeric --bytes --rate --timerpv (Pipe Viewer) monitors data throughput in real-time.-N "Direct" / -N "Proxy": Labels the output as "Direct" or "Proxy" to distinguish results.--numeric: Outputs numeric values only, making logs easier to process.--bytes: Displays total bytes transferred.--rate: Shows the current transfer speed.--timer: Records the duration of the transfer.2>direct1.txt / 2>proxy1.txt: Redirects pv's numeric output to log files for analysis.```
@krish94 Please create a collection of 12 runs each from the proxy and direct so that we can compute reasonable average values. Ideally I'd like these tests reproduced about 30 times so we can a very good average.
Earlier tests with 10/20 MB files showed inconsistent results, hence the 1000mb file for testing.
Also running the tests on local machine had different results (depending on the wifi network), so we chose an ubuntu box on the cloud rc space, that ensures consistency in network speed.
@krish94 in addition to the login004->login005 physical-machine-only path, add results for transferring directly to your ubuntu instance. This will provide insight on the ssh performance between a client and a node on ssh without a proxy jump.
Also, please be sure to diagram the testing scenarios in excalidraw. This will highlight which network segments and machines are used in each test scenario.
The specifics of the notebook aren't important but it's built on time series data tutorial that should be helpful for creating good data frame for plotting the transfer rates. The tutorial discusses creating averages over different time scales. That's less important in this issue than simply creating a single time series with data filled in at regular intervals.
Let's add a Direct transfer to a VM. So in your config that's likely direct from your test client to the VM that serves as your jumphost, but don't jump anywhere. This is just a single SSH connection transit test.