1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-09 03:36:48 +00:00
webvirtcloud/storages
catborise a87fbf739f perf(storages): an ISO uploads to an SSH compute without waiting for each write
Each 32 MiB chunk went out as 1024 SFTP writes, each waiting for its
answer: 19 MiB/s on a gigabit LAN, ~1.9 s per chunk with the SSH session.
The writes now go out without waiting and their answers are read as they
come and at the end: ~0.53 s per chunk, the same file (checked by sha256).

paramiko's own pipelined writes (set_pipelined) drop the errors in their
answers, so a full disk would leave a short ISO behind a successful
upload. Each write is registered to its file instead, the way paramiko
does for prefetched reads: every answer, in any order, reaches the file
and an error is raised as soon as one is read.
2026-10-09 13:35:02 +03:00
..
api fix(instances): failures reach the user; no redirect to other sites 2026-10-04 12:23:54 +03:00
migrations add missing migrations for new models 2022-08-24 09:34:16 +03:00
templates feat(storage): support resilient ISO uploads across connection types 2026-09-28 14:57:31 +03:00
__init__.py build new tree 2015-02-27 11:28:22 +02:00
forms.py fix(storages): the pool target check runs in linear time 2026-10-06 08:00:57 +03:00
models.py reorg imports and black format 2022-11-02 16:05:41 +03:00
test_pool_target.py fix(storages): the pool target check runs in linear time 2026-10-06 08:00:57 +03:00
test_sftp_pipelined.py perf(storages): an ISO uploads to an SSH compute without waiting for each write 2026-10-09 13:35:02 +03:00
tests.py perf(storages): an ISO uploads to an SSH compute without waiting for each write 2026-10-09 13:35:02 +03:00
upload.py perf(storages): an ISO uploads to an SSH compute without waiting for each write 2026-10-09 13:35:02 +03:00
views.py fix(appsettings,vrtManager,storages): error handlers that hid the real failure 2026-10-07 11:29:45 +03:00