diff --git a/deploy/fio-cmp.yaml b/deploy/fio-cmp.yaml index b690fa9..4d5d05c 100644 --- a/deploy/fio-cmp.yaml +++ b/deploy/fio-cmp.yaml @@ -88,6 +88,8 @@ spec: mountPath: /volume1/ - name: vol2 mountPath: /volume2/ + - name: fio-config-volume + mountPath: /etc/fio-config command: ["bash", "/fio/cmp_run.sh"] #volumeDevices: #- name: vol1 @@ -102,4 +104,220 @@ spec: - name: vol2 persistentVolumeClaim: claimName: kbench-pvc-2 + - name: fio-config-volume + configMap: + name: fio-config backoffLimit: 0 +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: fio-config +data: + bandwidth-quick.fio: | + [rand-read-bw] + readwrite=randread + include bw-include.fio + include quick-include.fio + + [rand-write-bw] + readwrite=randwrite + include bw-include.fio + include quick-include.fio + + [seq-read-bw] + readwrite=read + include bw-include.fio + include quick-include.fio + + [seq-write-bw] + readwrite=write + include bw-include.fio + include quick-include.fio + bandwidth-random-read.fio: | + [rand-read-bw] + readwrite=randread + include bw-include.fio + include common-include.fio + bandwidth-random-write.fio: | + [rand-write-bw] + readwrite=randwrite + include bw-include.fio + include common-include.fio + bandwidth-sequential-read.fio: | + [seq-read-bw] + readwrite=read + include bw-include.fio + include common-include.fio + bandwidth-sequential-write.fio: | + [seq-write-bw] + readwrite=write + include bw-include.fio + include common-include.fio + bandwidth.fio: | + [rand-read-bw] + readwrite=randread + include bw-include.fio + include common-include.fio + + [rand-write-bw] + readwrite=randwrite + include bw-include.fio + include common-include.fio + + [seq-read-bw] + readwrite=read + include bw-include.fio + include common-include.fio + + [seq-write-bw] + readwrite=write + include bw-include.fio + include common-include.fio + bw-include.fio: | + bs=128k + iodepth=64 + common-include.fio: | + stonewall=1 + randrepeat=0 + verify=0 + ioengine=libaio + direct=1 + time_based=1 + ramp_time=5s + runtime=20s + iops-include.fio: | + bs=4K + iodepth=64 + iops-quick.fio: | + [rand-read-iops] + readwrite=randread + include iops-include.fio + include quick-include.fio + + [rand-write-iops] + readwrite=randwrite + include iops-include.fio + include quick-include.fio + + [seq-read-iops] + readwrite=read + include iops-include.fio + include quick-include.fio + + [seq-write-iops] + readwrite=write + include iops-include.fio + include quick-include.fio + iops-random-read.fio: | + [rand-read-iops] + readwrite=randread + include iops-include.fio + include common-include.fio + iops-random-write.fio: | + [rand-write-iops] + readwrite=randwrite + include iops-include.fio + include common-include.fio + iops-sequential-read.fio: | + [seq-read-iops] + readwrite=read + include iops-include.fio + include common-include.fio + iops-sequential-write.fio: | + [seq-write-iops] + readwrite=write + include iops-include.fio + include common-include.fio + iops.fio: | + [rand-read-iops] + readwrite=randread + include iops-include.fio + include common-include.fio + + [rand-write-iops] + readwrite=randwrite + include iops-include.fio + include common-include.fio + + [seq-read-iops] + readwrite=read + include iops-include.fio + include common-include.fio + + [seq-write-iops] + readwrite=write + include iops-include.fio + include common-include.fio + lat-include.fio: | + bs=4k + iodepth=1 + latency-quick.fio: | + [rand-read-lat] + readwrite=randread + include lat-include.fio + include quick-include.fio + + [rand-write-lat] + readwrite=randwrite + include lat-include.fio + include quick-include.fio + + [seq-read-lat] + readwrite=read + include lat-include.fio + include quick-include.fio + + [seq-write-lat] + readwrite=write + include lat-include.fio + include quick-include.fio + latency-random-read.fio: | + [rand-read-lat] + readwrite=randread + include lat-include.fio + include common-include.fio + latency-random-write.fio: | + [rand-write-lat] + readwrite=randwrite + include lat-include.fio + include common-include.fio + latency-sequential-read.fio: | + [seq-read-lat] + readwrite=read + include lat-include.fio + include common-include.fio + latency-sequential-write.fio: | + [seq-write-lat] + readwrite=write + include lat-include.fio + include common-include.fio + latency.fio: | + [rand-read-lat] + readwrite=randread + include lat-include.fio + include common-include.fio + + [rand-write-lat] + readwrite=randwrite + include lat-include.fio + include common-include.fio + + [seq-read-lat] + readwrite=read + include lat-include.fio + include common-include.fio + + [seq-write-lat] + readwrite=write + include lat-include.fio + include common-include.fio + quick-include.fio: | + stonewall=1 + randrepeat=0 + verify=0 + ioengine=libaio + direct=1 + time_based=1 + ramp_time=1s + runtime=5s diff --git a/deploy/fio.yaml b/deploy/fio.yaml index bb84916..05654ae 100644 --- a/deploy/fio.yaml +++ b/deploy/fio.yaml @@ -65,6 +65,8 @@ spec: volumeMounts: - name: vol mountPath: /volume/ + - name: fio-config-volume + mountPath: /etc/fio-config #volumeDevices: #- name: vol # devicePath: /volume/test @@ -73,4 +75,220 @@ spec: - name: vol persistentVolumeClaim: claimName: kbench-pvc + - name: fio-config-volume + configMap: + name: fio-config backoffLimit: 0 +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: fio-config +data: + bandwidth-quick.fio: | + [rand-read-bw] + readwrite=randread + include bw-include.fio + include quick-include.fio + + [rand-write-bw] + readwrite=randwrite + include bw-include.fio + include quick-include.fio + + [seq-read-bw] + readwrite=read + include bw-include.fio + include quick-include.fio + + [seq-write-bw] + readwrite=write + include bw-include.fio + include quick-include.fio + bandwidth-random-read.fio: | + [rand-read-bw] + readwrite=randread + include bw-include.fio + include common-include.fio + bandwidth-random-write.fio: | + [rand-write-bw] + readwrite=randwrite + include bw-include.fio + include common-include.fio + bandwidth-sequential-read.fio: | + [seq-read-bw] + readwrite=read + include bw-include.fio + include common-include.fio + bandwidth-sequential-write.fio: | + [seq-write-bw] + readwrite=write + include bw-include.fio + include common-include.fio + bandwidth.fio: | + [rand-read-bw] + readwrite=randread + include bw-include.fio + include common-include.fio + + [rand-write-bw] + readwrite=randwrite + include bw-include.fio + include common-include.fio + + [seq-read-bw] + readwrite=read + include bw-include.fio + include common-include.fio + + [seq-write-bw] + readwrite=write + include bw-include.fio + include common-include.fio + bw-include.fio: | + bs=128k + iodepth=64 + common-include.fio: | + stonewall=1 + randrepeat=0 + verify=0 + ioengine=libaio + direct=1 + time_based=1 + ramp_time=5s + runtime=20s + iops-include.fio: | + bs=4K + iodepth=64 + iops-quick.fio: | + [rand-read-iops] + readwrite=randread + include iops-include.fio + include quick-include.fio + + [rand-write-iops] + readwrite=randwrite + include iops-include.fio + include quick-include.fio + + [seq-read-iops] + readwrite=read + include iops-include.fio + include quick-include.fio + + [seq-write-iops] + readwrite=write + include iops-include.fio + include quick-include.fio + iops-random-read.fio: | + [rand-read-iops] + readwrite=randread + include iops-include.fio + include common-include.fio + iops-random-write.fio: | + [rand-write-iops] + readwrite=randwrite + include iops-include.fio + include common-include.fio + iops-sequential-read.fio: | + [seq-read-iops] + readwrite=read + include iops-include.fio + include common-include.fio + iops-sequential-write.fio: | + [seq-write-iops] + readwrite=write + include iops-include.fio + include common-include.fio + iops.fio: | + [rand-read-iops] + readwrite=randread + include iops-include.fio + include common-include.fio + + [rand-write-iops] + readwrite=randwrite + include iops-include.fio + include common-include.fio + + [seq-read-iops] + readwrite=read + include iops-include.fio + include common-include.fio + + [seq-write-iops] + readwrite=write + include iops-include.fio + include common-include.fio + lat-include.fio: | + bs=4k + iodepth=1 + latency-quick.fio: | + [rand-read-lat] + readwrite=randread + include lat-include.fio + include quick-include.fio + + [rand-write-lat] + readwrite=randwrite + include lat-include.fio + include quick-include.fio + + [seq-read-lat] + readwrite=read + include lat-include.fio + include quick-include.fio + + [seq-write-lat] + readwrite=write + include lat-include.fio + include quick-include.fio + latency-random-read.fio: | + [rand-read-lat] + readwrite=randread + include lat-include.fio + include common-include.fio + latency-random-write.fio: | + [rand-write-lat] + readwrite=randwrite + include lat-include.fio + include common-include.fio + latency-sequential-read.fio: | + [seq-read-lat] + readwrite=read + include lat-include.fio + include common-include.fio + latency-sequential-write.fio: | + [seq-write-lat] + readwrite=write + include lat-include.fio + include common-include.fio + latency.fio: | + [rand-read-lat] + readwrite=randread + include lat-include.fio + include common-include.fio + + [rand-write-lat] + readwrite=randwrite + include lat-include.fio + include common-include.fio + + [seq-read-lat] + readwrite=read + include lat-include.fio + include common-include.fio + + [seq-write-lat] + readwrite=write + include lat-include.fio + include common-include.fio + quick-include.fio: | + stonewall=1 + randrepeat=0 + verify=0 + ioengine=libaio + direct=1 + time_based=1 + ramp_time=1s + runtime=5s diff --git a/fio/run.sh b/fio/run.sh index 0555a65..c3f3073 100755 --- a/fio/run.sh +++ b/fio/run.sh @@ -3,6 +3,7 @@ set -e CURRENT_DIR="$(dirname "$(readlink -f "$0")")" +CONFIG_DIR="/etc/fio-config" TEST_FILE=$1 @@ -150,19 +151,19 @@ keep_running="true" while [ "$keep_running" == "true" ]; do if [ -n "$IOPS_FIO" ]; then echo Benchmarking $IOPS_FIO into $OUTPUT_IOPS - fio $CURRENT_DIR/$IOPS_FIO $IDLE_PROF --filename=$TEST_FILE --size=$TEST_SIZE \ + fio $CONFIG_DIR/$IOPS_FIO $IDLE_PROF --filename=$TEST_FILE --size=$TEST_SIZE \ --output-format=json --output=$TEMP $rate_iops_flag $rate_flag mv $TEMP $OUTPUT_IOPS fi if [ -n "$BW_FIO" ]; then echo Benchmarking $BW_FIO into $OUTPUT_BW - fio $CURRENT_DIR/$BW_FIO $IDLE_PROF --filename=$TEST_FILE --size=$TEST_SIZE \ + fio $CONFIG_DIR/$BW_FIO $IDLE_PROF --filename=$TEST_FILE --size=$TEST_SIZE \ --output-format=json --output=$TEMP $rate_iops_flag $rate_flag mv $TEMP $OUTPUT_BW fi if [ -n "$LAT_FIO" ]; then echo Benchmarking $LAT_FIO into $OUTPUT_LAT - fio $CURRENT_DIR/$LAT_FIO $IDLE_PROF --filename=$TEST_FILE --size=$TEST_SIZE \ + fio $CONFIG_DIR/$LAT_FIO $IDLE_PROF --filename=$TEST_FILE --size=$TEST_SIZE \ --output-format=json --output=$TEMP $rate_iops_flag $rate_flag mv $TEMP $OUTPUT_LAT fi