fio: Add a script to prep a system for benchmarks
Also update the example fio file Change-Id: I2a9074d524072e95340cc0e87041e87e3bb7d4f8 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/362069 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
dc772e543f
commit
be186f641e
43
examples/nvme/fio_plugin/full_bench.fio
Normal file
43
examples/nvme/fio_plugin/full_bench.fio
Normal file
@ -0,0 +1,43 @@
|
||||
[global]
|
||||
ioengine=./examples/nvme/fio_plugin/fio_plugin
|
||||
thread=1
|
||||
group_reporting=1
|
||||
direct=1
|
||||
verify=0
|
||||
norandommap=1
|
||||
cpumask=1
|
||||
percentile_list=50:99:99.9:99.99:99.999
|
||||
|
||||
[precondition-trim]
|
||||
description="Trim the entire device"
|
||||
rw=trim
|
||||
iodepth=128
|
||||
bs=1M
|
||||
|
||||
[precondition-sequential]
|
||||
stonewall
|
||||
description="Sequentially write to the device twice"
|
||||
rw=write
|
||||
iodepth=128
|
||||
bs=128k
|
||||
loops=2
|
||||
|
||||
[4k_randwrite_qd1]
|
||||
stonewall
|
||||
description="4KiB Random Write QD=1"
|
||||
bs=4k
|
||||
rw=randwrite
|
||||
iodepth=1
|
||||
time_based=1
|
||||
ramp_time=60
|
||||
runtime=240
|
||||
|
||||
[4k_randread_qd1]
|
||||
stonewall
|
||||
description="4KiB Random Read QD=1"
|
||||
bs=4k
|
||||
rw=randread
|
||||
iodepth=1
|
||||
time_based=1
|
||||
ramp_time=60
|
||||
runtime=240
|
41
scripts/prep_benchmarks.sh
Executable file
41
scripts/prep_benchmarks.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo -n "Placing all CPUs in performance mode..."
|
||||
for governor in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
|
||||
echo -n performance > $governor
|
||||
done
|
||||
echo "Done"
|
||||
|
||||
echo -n "Disabling irqbalance service..."
|
||||
service irqbalance stop 2> /dev/null
|
||||
echo "Done"
|
||||
|
||||
echo -n "Moving all interrupts off of core 0..."
|
||||
count=`expr $(nproc) / 4`
|
||||
cpumask="e"
|
||||
for ((i=1; i<$count; i++)); do
|
||||
if [ `expr $i % 8` -eq 0 ]; then
|
||||
cpumask=",$cpumask"
|
||||
fi
|
||||
cpumask="f$cpumask"
|
||||
done
|
||||
for file in /proc/irq/*/smp_affinity; do
|
||||
echo "$cpumask" > $file 2> /dev/null
|
||||
done
|
||||
echo "Done"
|
||||
|
||||
echo -n "Configuring kernel blk-mq for for NVMe SSDs..."
|
||||
for queue in /sys/block/nvme*n*/queue; do
|
||||
if [ -f "$queue/nomerges" ]; then
|
||||
echo "1" > $queue/nomerges
|
||||
fi
|
||||
|
||||
if [ -f "$queue/io_poll" ]; then
|
||||
echo "1" > $queue/io_poll
|
||||
fi
|
||||
|
||||
if [ -f "$queue/io_poll_delay" ]; then
|
||||
echo "-1" > $queue/io_poll_delay
|
||||
fi
|
||||
done
|
||||
echo "Done"
|
Loading…
Reference in New Issue
Block a user