-
-
Notifications
You must be signed in to change notification settings - Fork 48
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
Create a benchmark suite for storage drivers #7300
Comments
Looking at the benchmark results, it appears that in the real-world test BTRFS is faster for everything except sequential writes, while LVM2 has better results across the board in the peak performance test. I believe one cause of the weird behavior is that Qubes OS does not use direct I/O for the loop device, which causes all sorts of performance problems. |
@DemiMarie another thread was opened on the forum is the use case of simply reencrypting LUKS and seeing speed varying from 50MiB/s to 150 MiB/s on commodity SSD on my side. This is linked to assumptions the different tools are taking from what is reported from hardware (disk block size), partition table, partition alignment and block size of create partition. To summarize, only modifying the LUKS sector size at LuksFormat step at partitioning has big impacts on thr rest of performance from there. The point here is not to go advanced necessarily, but trusting hardware in reporting the right thing, ie 512 block size nowadays, should probably be followed by testing minimally if 4096 is actually better prior of accepting that reported value as being the truth. The thread is here and needs more testing: https://forum.qubes-os.org/t/ssd-maximal-performance-native-sector-size-partition-alignment |
@marmarek is there any chance we could ship a more recent version of cryptsetup? |
@DemiMarie @marmarek that cryptsetup in 2.4.0 might not be enough, testing needed, while real problem is what is actually reported from device lying on block sizes, and might result in same wrong decision from cryptsetup (and other tools down to the partition table creation, partition alignment of LUKS and down to filesystem (LVM/others). Misalignment resulting in more blocks needing to be read/wrote, and in SSD firmware having to compensate and touch regions which otherwise would not need to be, resulting in speed differences easily observable from cryptsetup-reencrypt, but where filesystem performance (not filling ssd cache) will not show consequences. |
Sadly I am not aware of any solution other than fixing each of these tools separately 😞. Is there any way to find out the erase block size? |
After spending some time on btrfs, I cannot use it myself. It could be related to discards as mentioned in one of the other issues which I've lost now, but btrfs has a tendency to just murder IO on my laptop. VMs become completely unresponsive if the drive is doing something for long enough. For example, I tried syncing the Monero blockchain, and once I hit about 75 Mbps average download speed, VMs would just start hanging intermittently. Terminals don't respond, new processes won't create, Qubes services in dom0 will freeze too. I also tried enabling direct IO in |
Try running
|
Note progress of QubesOS/qubes-core-admin#649 |
How to file a helpful issue
Qubes OS release (if applicable)
N/A?
Brief summary
There needs to be an answer to whether LVM or BTRFS storage pools are faster.
The text was updated successfully, but these errors were encountered: