Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests: add simple storage performance tests #649

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

marmarek
Copy link
Member

@marmarek marmarek commented Jan 26, 2025

Add few simple storage performance tests using fio tool. Tests are checking
dom0's root and varlibqubes pools (by default the same thing, but in case
of XFS or BTRFS setups, they are different). And VM's
root/private/volatile. The last one is tested by creating ext4 filesystem
there first. This isn't very representative
(normally volatile is used for swap and CoW data), but allows comparing
results with other volumes.

The tests can be also started outside of the full test run by calling
/usr/lib/qubes/tests/storage_perf.py. It requires giving name of a VM to
test (which may be dom0).

QubesOS/qubes-issues#5740

This PR is on top of #647

Add simple connection latency, and throughput tests. Run them with
different type of services (scripts, socket, via fork-server or not).
They print a test run time for comparison - the lower the better.

The tests can be also started outside of the full test run by calling
/usr/lib/qubes/tests/qrexec_perf.py. It requires giving names of two
existing and running VMs.

QubesOS/qubes-issues#5740
Add few simple storage performance tests using fio tool.
Tests are checking dom0's root and varlibqubes pools (by default the
same thing, but in case of XFS or BTRFS setups, they are
different). And VM's root/private/volatile. The last one is tested by
creating ext4 filesystem there first. This isn't very representative
(normally volatile is used for swap and CoW data), but allows comparing
results with other volumes.

The tests can be also started outside of the full test run by calling
/usr/lib/qubes/tests/storage_perf.py. It requires giving name of a VM to
test (which may be dom0).

QubesOS/qubes-issues#5740
Copy link

codecov bot commented Jan 26, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 69.71%. Comparing base (6cd9523) to head (664c5dd).
Report is 8 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #649      +/-   ##
==========================================
- Coverage   69.78%   69.71%   -0.07%     
==========================================
  Files          58       58              
  Lines       12499    12499              
==========================================
- Hits         8722     8714       -8     
- Misses       3777     3785       +8     
Flag Coverage Δ
unittests 69.71% <ø> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@tlaurion
Copy link

Aims to iterate in goal of fixing QubesOS/qubes-issues#7300

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants