My goal is to transfer a file from instance c1 to instance c2 within Incus. I’m trying the file pull from c1 then push to c2 method.
I’m running incus latest stable and on a local network, I’ve set the instance c1 and c2 to direct attach to the network. The client is on the same network but on the WiFi.
If I run incus file pull c1/bigfile . the speeds I get are around 5 MB/s.
Using croc I get around 80 MB/s, closer to what I’d expect.
Out of curiosity, I added c2 as a trusted incus client to test a file pulling from c1 and the speeds were around 260 MB/s.
Is there a way to speed up this transfer or would it be a misconfiguration on my end?
Is there a better or best-practice way to transfer a file from one incus instance to the other directly?
It shouldn’t make any difference how the containers “attach to the network”: you’re talking to the incus daemon running on the physical host, not to the containers. Indeed, these pull/push operations should work even if the containers are stopped.
I have not come across “croc” before. Do you mean this? If you’re using it to transfer directly from c1 to c2 (both wired), then this is not a fair comparison to transfer from c1 to client device (wireless). Or are you running croc inside c1 and also on the wireless client?
To debug further, I suggest installing iperf3 on both the server host and the client. Run “iperf3 -s” on the server, and then “iperf3 -c x.x.x.x -R” on the client, to test the potential throughput available over wireless.
Also: you should specify the version of incus you’re running, and the underlying operating system.
Hi @candlerb! Thank you for enlightening me on how this works and for the pointers. You’re right I should’ve put more information before posting^^ I will gather my findings below:
Server IP: 192.168.0.10
Server OS: Debian 13 Stable
Incus Client version: 7.0.0 — (bin.macos.incus.aarch64)
Incus Server incus version: 7.0.0 — (zabbly incus repo)
Incus Storage driver: dir on ext4 (default admin init)
I’ve seen similar results on other clients on WiFi, I don’t have an ethernet cable to test with me right now but I’ll update if I do test and get different results with that. Thank you again!
Taking the middle case (incus pull, wired ethernet): running “top” on both client and server shows “kernel_task” at around 110% of a CPU on the client side. I wonder if too small a buffer is being used for I/O?