Skip to content

Commit 1a49e09

Browse files
saibulususaibulusu
andauthored
fio discovery profile expansion (#562)
* fio discovery profile v2 * Removing unnecessary metrics metadata fields. * Fixing a unit test and adding a full set of parameters for fio discovery v2. * Removing v2 profile, removing InitializeDisksInParallel parameter from fio profiles, expanding discovery profile to include block size of 1k, using IOType and BlockSize as strings instead of lists. * Fixing references in FioDiscoveryExecutor. * Fixing unit tests. * Removing max threads as a list. * Converting DurationSec to Duration. * Changing duation field in job files. --------- Co-authored-by: saibulusu <[email protected]>
1 parent b21ed8a commit 1a49e09

File tree

10 files changed

+253
-171
lines changed

10 files changed

+253
-171
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.1.12
1+
2.1.13

src/VirtualClient/VirtualClient.Actions.FunctionalTests/FioDiscoveryProfileTests.cs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ private static IEnumerable<string> GetFioProfileExpectedCommands(PlatformID plat
9999
return new List<string>
100100
{
101101
"fio --name=disk_fill --size=134G --rw=write --bs=256K --numjobs=1 --iodepth=64 --ioengine=libaio --fallocate=none --refill_buffers=1 --direct=1 --overwrite=1 --output-format=json",
102+
"fio --name=fio_discovery_randread_134G_1k_d1_th1 --numjobs=1 --iodepth=1 --ioengine=libaio --size=134G --rw=randread --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
103+
"fio --name=fio_discovery_randread_134G_1k_d1_th4 --numjobs=4 --iodepth=1 --ioengine=libaio --size=134G --rw=randread --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
104+
"fio --name=fio_discovery_randread_134G_1k_d2_th8 --numjobs=8 --iodepth=2 --ioengine=libaio --size=134G --rw=randread --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
105+
"fio --name=fio_discovery_randread_134G_1k_d8_th8 --numjobs=8 --iodepth=8 --ioengine=libaio --size=134G --rw=randread --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
106+
"fio --name=fio_discovery_randread_134G_1k_d32_th8 --numjobs=8 --iodepth=32 --ioengine=libaio --size=134G --rw=randread --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
107+
"fio --name=fio_discovery_randread_134G_1k_d128_th8 --numjobs=8 --iodepth=128 --ioengine=libaio --size=134G --rw=randread --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
102108
"fio --name=fio_discovery_randread_134G_4k_d1_th1 --numjobs=1 --iodepth=1 --ioengine=libaio --size=134G --rw=randread --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
103109
"fio --name=fio_discovery_randread_134G_4k_d1_th4 --numjobs=4 --iodepth=1 --ioengine=libaio --size=134G --rw=randread --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
104110
"fio --name=fio_discovery_randread_134G_4k_d2_th8 --numjobs=8 --iodepth=2 --ioengine=libaio --size=134G --rw=randread --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
@@ -135,6 +141,12 @@ private static IEnumerable<string> GetFioProfileExpectedCommands(PlatformID plat
135141
"fio --name=fio_discovery_randread_134G_1024k_d8_th8 --numjobs=8 --iodepth=8 --ioengine=libaio --size=134G --rw=randread --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
136142
"fio --name=fio_discovery_randread_134G_1024k_d32_th8 --numjobs=8 --iodepth=32 --ioengine=libaio --size=134G --rw=randread --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
137143
"fio --name=fio_discovery_randread_134G_1024k_d128_th8 --numjobs=8 --iodepth=128 --ioengine=libaio --size=134G --rw=randread --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
144+
"fio --name=fio_discovery_randwrite_134G_1k_d1_th1 --numjobs=1 --iodepth=1 --ioengine=libaio --size=134G --rw=randwrite --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
145+
"fio --name=fio_discovery_randwrite_134G_1k_d1_th4 --numjobs=4 --iodepth=1 --ioengine=libaio --size=134G --rw=randwrite --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
146+
"fio --name=fio_discovery_randwrite_134G_1k_d2_th8 --numjobs=8 --iodepth=2 --ioengine=libaio --size=134G --rw=randwrite --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
147+
"fio --name=fio_discovery_randwrite_134G_1k_d8_th8 --numjobs=8 --iodepth=8 --ioengine=libaio --size=134G --rw=randwrite --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
148+
"fio --name=fio_discovery_randwrite_134G_1k_d32_th8 --numjobs=8 --iodepth=32 --ioengine=libaio --size=134G --rw=randwrite --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
149+
"fio --name=fio_discovery_randwrite_134G_1k_d128_th8 --numjobs=8 --iodepth=128 --ioengine=libaio --size=134G --rw=randwrite --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
138150
"fio --name=fio_discovery_randwrite_134G_4k_d1_th1 --numjobs=1 --iodepth=1 --ioengine=libaio --size=134G --rw=randwrite --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
139151
"fio --name=fio_discovery_randwrite_134G_4k_d1_th4 --numjobs=4 --iodepth=1 --ioengine=libaio --size=134G --rw=randwrite --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
140152
"fio --name=fio_discovery_randwrite_134G_4k_d2_th8 --numjobs=8 --iodepth=2 --ioengine=libaio --size=134G --rw=randwrite --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
@@ -171,6 +183,12 @@ private static IEnumerable<string> GetFioProfileExpectedCommands(PlatformID plat
171183
"fio --name=fio_discovery_randwrite_134G_1024k_d8_th8 --numjobs=8 --iodepth=8 --ioengine=libaio --size=134G --rw=randwrite --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
172184
"fio --name=fio_discovery_randwrite_134G_1024k_d32_th8 --numjobs=8 --iodepth=32 --ioengine=libaio --size=134G --rw=randwrite --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
173185
"fio --name=fio_discovery_randwrite_134G_1024k_d128_th8 --numjobs=8 --iodepth=128 --ioengine=libaio --size=134G --rw=randwrite --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
186+
"fio --name=fio_discovery_read_134G_1k_d1_th1 --numjobs=1 --iodepth=1 --ioengine=libaio --size=134G --rw=read --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
187+
"fio --name=fio_discovery_read_134G_1k_d1_th4 --numjobs=4 --iodepth=1 --ioengine=libaio --size=134G --rw=read --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
188+
"fio --name=fio_discovery_read_134G_1k_d2_th8 --numjobs=8 --iodepth=2 --ioengine=libaio --size=134G --rw=read --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
189+
"fio --name=fio_discovery_read_134G_1k_d8_th8 --numjobs=8 --iodepth=8 --ioengine=libaio --size=134G --rw=read --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
190+
"fio --name=fio_discovery_read_134G_1k_d32_th8 --numjobs=8 --iodepth=32 --ioengine=libaio --size=134G --rw=read --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
191+
"fio --name=fio_discovery_read_134G_1k_d128_th8 --numjobs=8 --iodepth=128 --ioengine=libaio --size=134G --rw=read --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
174192
"fio --name=fio_discovery_read_134G_4k_d1_th1 --numjobs=1 --iodepth=1 --ioengine=libaio --size=134G --rw=read --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
175193
"fio --name=fio_discovery_read_134G_4k_d1_th4 --numjobs=4 --iodepth=1 --ioengine=libaio --size=134G --rw=read --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
176194
"fio --name=fio_discovery_read_134G_4k_d2_th8 --numjobs=8 --iodepth=2 --ioengine=libaio --size=134G --rw=read --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
@@ -207,6 +225,12 @@ private static IEnumerable<string> GetFioProfileExpectedCommands(PlatformID plat
207225
"fio --name=fio_discovery_read_134G_1024k_d8_th8 --numjobs=8 --iodepth=8 --ioengine=libaio --size=134G --rw=read --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
208226
"fio --name=fio_discovery_read_134G_1024k_d32_th8 --numjobs=8 --iodepth=32 --ioengine=libaio --size=134G --rw=read --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
209227
"fio --name=fio_discovery_read_134G_1024k_d128_th8 --numjobs=8 --iodepth=128 --ioengine=libaio --size=134G --rw=read --bs=1024k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
228+
"fio --name=fio_discovery_write_134G_1k_d1_th1 --numjobs=1 --iodepth=1 --ioengine=libaio --size=134G --rw=write --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
229+
"fio --name=fio_discovery_write_134G_1k_d1_th4 --numjobs=4 --iodepth=1 --ioengine=libaio --size=134G --rw=write --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
230+
"fio --name=fio_discovery_write_134G_1k_d2_th8 --numjobs=8 --iodepth=2 --ioengine=libaio --size=134G --rw=write --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
231+
"fio --name=fio_discovery_write_134G_1k_d8_th8 --numjobs=8 --iodepth=8 --ioengine=libaio --size=134G --rw=write --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
232+
"fio --name=fio_discovery_write_134G_1k_d32_th8 --numjobs=8 --iodepth=32 --ioengine=libaio --size=134G --rw=write --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
233+
"fio --name=fio_discovery_write_134G_1k_d128_th8 --numjobs=8 --iodepth=128 --ioengine=libaio --size=134G --rw=write --bs=1k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
210234
"fio --name=fio_discovery_write_134G_4k_d1_th1 --numjobs=1 --iodepth=1 --ioengine=libaio --size=134G --rw=write --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
211235
"fio --name=fio_discovery_write_134G_4k_d1_th4 --numjobs=4 --iodepth=1 --ioengine=libaio --size=134G --rw=write --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",
212236
"fio --name=fio_discovery_write_134G_4k_d2_th8 --numjobs=8 --iodepth=2 --ioengine=libaio --size=134G --rw=write --bs=4k --direct=1 --ramp_time=15 --runtime=180 --time_based --overwrite=1 --thread --group_reporting --output-format=json --filename=/dev/sd[a-z]",

src/VirtualClient/VirtualClient.Actions.UnitTests/FIO/FioDiscoveryExecutorTests.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,10 @@ public void SetupTest()
3737
this.Parameters = new Dictionary<string, IConvertible>
3838
{
3939
{ nameof(FioDiscoveryExecutor.Scenario), "AnyScenario_ReadOrWrite_AnyBlockSize" },
40-
{ nameof(FioDiscoveryExecutor.CommandLine), "--ioengine=libaio --size={FileSize} --rw={IOType} --bs={BlockSize} --direct={DirectIO} --ramp_time=30 --runtime={DurationSec} --time_based --overwrite=1 --thread --group_reporting --output-format=json" },
40+
{ nameof(FioDiscoveryExecutor.CommandLine), "--ioengine=libaio --size={FileSize} --rw={IOType} --bs={BlockSize} --direct={DirectIO} --ramp_time=30 --runtime=300 --time_based --overwrite=1 --thread --group_reporting --output-format=json" },
4141
{ nameof(FioDiscoveryExecutor.BlockSize), "4K" },
4242
{ nameof(FioDiscoveryExecutor.DiskFillSize), "140G" },
4343
{ nameof(FioDiscoveryExecutor.FileSize), "134G" },
44-
{ nameof(FioDiscoveryExecutor.DurationSec), 300 },
4544
{ nameof(FioDiscoveryExecutor.QueueDepths), "1,4,16" },
4645
{ nameof(FioDiscoveryExecutor.MaxThreads), 8 },
4746
{ nameof(FioDiscoveryExecutor.IOType), "randwrite" },
@@ -165,7 +164,6 @@ public void FioDiscoveryExecutorDoesNotSupportRunningAgainstTheOperatingSystemDi
165164
}
166165
}
167166

168-
169167
[Test]
170168
public async Task FioDiscoveryExecutorExecutesAsExpectedInSingleProcessModel()
171169
{

src/VirtualClient/VirtualClient.Actions.UnitTests/FIO/FioMultiThroughputExecutorTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public void SetupTest()
4343
{
4444
{ nameof(FioMultiThroughputExecutor.TemplateJobFile), "oltp-c.fio.jobfile" },
4545
{ nameof(FioMultiThroughputExecutor.GroupReporting), 1 },
46-
{ nameof(FioMultiThroughputExecutor.DurationSec), 1 },
46+
{ nameof(FioMultiThroughputExecutor.Duration), 1 },
4747
{ nameof(FioMultiThroughputExecutor.DirectIO), 1 },
4848
{ nameof(FioMultiThroughputExecutor.TargetIOPS), "5000" },
4949
{ nameof(FioMultiThroughputExecutor.TargetPercents), 10 },

0 commit comments

Comments
 (0)