1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-10 04:06:47 +00:00
webvirtcloud/computes
catborise 37b87839c1 perf(computes): a VM list load writes nothing while the hosts match the database
Every VM list load reconciles each compute with libvirt. Even when nothing
had changed, that took the compute's claims and a transaction with
SELECT FOR UPDATE (and the ownership advisory lock on PostgreSQL): about
11 queries a compute, 4 of them writes. On SQLite each load queued behind
every other write of the app.

The reconcile now first compares libvirt's VM list with the database,
without a claim or a transaction, and stops when they match and no
removed record has expired. Otherwise it runs as before, reading libvirt
again under its claims, so two reconciles still cannot commit in reverse
order. With two matching hosts a list load goes from 38 queries (8
writes) to 18 (none).
2026-11-04 20:54:07 +03:00
..
api fix(gstfsd): only the panel, with the host's key, can change a VM's disk 2026-10-31 01:53:43 +03:00
migrations fix(computes): a VM migrates to its host's panel address when it has no migration address 2026-11-01 18:41:07 +03:00
templates refactor(templates): the host pages' scripts load from static files 2026-11-02 09:45:26 +03:00
tests perf(computes): a VM list load writes nothing while the hosts match the database 2026-11-04 20:54:07 +03:00
__init__.py Initial commit 2015-02-27 10:53:51 +02:00
apps.py fix: track migrations; installs apply them instead of generating them 2026-10-04 01:08:11 +03:00
forms.py feat(computes): the host form names its connection and folds the advanced fields 2026-10-31 18:10:05 +03:00
models.py fix(computes): a VM migrates to its host's panel address when it has no migration address 2026-11-01 18:41:07 +03:00
urls.py fix(storages): a refused new volume comes back in its dialog 2026-10-31 18:35:09 +03:00
utils.py perf(computes): a VM list load writes nothing while the hosts match the database 2026-11-04 20:54:07 +03:00
validators.py fix(gstfsd): only the panel, with the host's key, can change a VM's disk 2026-10-31 01:53:43 +03:00
views.py feat(instances): the VM lists follow changes by themselves 2026-11-01 19:53:45 +03:00