Skip to content

Fix disk detection after LVM striping and update database workload profiles#674

Open
ericavella wants to merge 5 commits intomainfrom
users/evellanoweth/adopt-stripe-disks
Open

Fix disk detection after LVM striping and update database workload profiles#674
ericavella wants to merge 5 commits intomainfrom
users/evellanoweth/adopt-stripe-disks

Conversation

@ericavella
Copy link
Copy Markdown
Contributor

Summary

Fixes raid0 disk detection failures in MySQL and PostgreSQL server configuration components, and updates database workload profiles for improved validation.

Key Changes

Bug Fix: Disk detection after LVM striping

After StripeDisks creates an LVM striped volume from NVMe disks, lshw no longer reports the logical volume device. This caused MySqlServerConfiguration and PostgreSQLServerConfiguration to fail with Expected disks not found.

Fix: Added a /proc/mounts fallback that reads the mount table to find the raid0 mount point when lshw-based disk discovery fails. Also changed both components to search all disks (not just filtered disks) for raid0 access paths.

Profile Updates

  • PostgreSQL Sysbench TPCC/OLTP: Removed unsupported CreateTables and DistributeDatabase dependency steps
  • HammerDB TPCC: Tuned WarehouseCount from memory-based to {LogicalCoreCount} * 10
  • HammerDB TPCH: Reduced ScaleFactor from 10 to 1

Other

  • Fixed HammerDBExecutor.cs async method without await warning
  • Added .github/copilot-instructions.md

Validation

All workloads validated on Azure VMs in both single-node and client/server configurations:

Workload Config VM Sizes Result
PG Sysbench TPCC Single E8ds_v6 2,075 TPS
PG Sysbench OLTP Single E8ds_v6 5,027 TPS
PG HammerDB TPCC Single E8ds_v6 3,137 NOPM
PG HammerDB TPCH Single E8ds_v6 16 query sets
MySQL Sysbench OLTP Client/Server D32s_v5 + E32ds_v6 4,434 TPS
MySQL Sysbench TPCC Client/Server D32s_v5 + E32ds_v6 2,761 TPS
PG Sysbench TPCC Client/Server D32s_v5 + E32ds_v6 3,126 TPS
PG Sysbench OLTP Client/Server D32s_v5 + E32ds_v6 5,575 TPS
PG HammerDB TPCC Client/Server D32s_v5 + E32ds_v6 633,687 NOPM
PG HammerDB TPCH Client/Server D32s_v5 + E32ds_v6 geo mean ~0.56s
PG Sysbench TPCC Client/Server D8s_v5 + E8ds_v6 648 TPS

Erica Vellanoweth and others added 5 commits March 20, 2026 09:50
…ofiles

- Add /proc/mounts fallback for raid0 path discovery in MySqlServerConfiguration
  and PostgreSQLServerConfiguration. After StripeDisks creates an LVM volume,
  lshw no longer reports the logical volume, causing 'Expected disks not found'.
  The fallback reads /proc/mounts to find the raid0 mount point.

- Search all disks (not just filtered) for raid0 access paths in both
  MySQL and PostgreSQL server configuration components.

- Remove unsupported CreateTables and DistributeDatabase dependency steps
  from PostgreSQL Sysbench TPCC and OLTP profiles.

- Tune HammerDB TPCC WarehouseCount to LogicalCoreCount * 10 and
  TPCH ScaleFactor to 1 for faster validation runs.

- Fix HammerDBExecutor async method missing await warning.

- Add copilot-instructions.md for repository development guidance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant