Skip to content

Put schedule for every 2 hours #13

Put schedule for every 2 hours

Put schedule for every 2 hours #13

Workflow file for this run

name: Benchmark
on:
schedule:
- cron: '5 1,3,5,7,9,11,13,15,17,19,21,23 * * *'
push:
branches:
- vibhansa/perftestrunner
jobs:
PerfTesting:
runs-on: [self-hosted, 1ES.Pool=blobfuse2-github-pool]
timeout-minutes: 360
permissions:
id-token: write
contents: write
pages: write
steps:
# Print the host info
- name: 'Host info'
run: hostnamectl
# Install Fuse3
- name: "Install Fuse3"
run: |
sudo apt-get update
sudo apt-get install fuse3 libfuse3-dev gcc -y
# Install Tools
- name: "Install Tools"
run: |
sudo apt-get install fio jq -y
# Checkout main branch
- name: 'Checkout Blobfuse2'
uses: actions/checkout@v4.1.1
# Install GoLang
- name: "Install Go"
run: |
./go_installer.sh ../
go version
# Build Blobfuse2
- name: "Build Blobfuse2"
run: |
./build.sh
# Run binary and validate the version
- name: "Validate Version"
run: |
./blobfuse2 --version
pwd
sudo cp ./blobfuse2 /usr/bin/
which blobfuse2
blobfuse2 --version
# Create the config file for testing
- name: "Create config file"
run: |
blobfuse2 gen-test-config --config-file=azure_block_bench.yaml --container-name=${{ secrets.BLOB_STORAGE_CONTAINER }} --output-file=../config.yaml
cat ../config.yaml
# Checkout benchmark branch
- uses: actions/checkout@v2
with:
ref: benchmarks
# Create the config file for testing
- name: "Create mount path"
run: |
mkdir -p ../blob_mnt
sudo chmod 777 ../blob_mnt
rm -rf ../blob_mnt/*
# -----------------------------------------------------------------------------------------------
# Run the benchmark script for read_bandwidth test
- name: "Run Benchmark Script : Read"
run: |
./scripts/fio_bench.sh ../blob_mnt read
env:
AZURE_STORAGE_ACCOUNT: ${{ secrets.BLOB_STORAGE_ACCOUNT }}
AZURE_STORAGE_ACCOUNT_CONTAINER: ${{ secrets.BLOB_STORAGE_CONTAINER }}
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.BLOB_STORAGE_KEY }}
# Print blobfuse2 logs
- name: "Print logs : Read"
run: cat ./blobfuse2.log
if: always()
# Print the results generated
- name: "Print latest results : Read"
run: cat ./read_bandwidth/results.json
if: always()
# Push the results and publish the graphs
- name: "Update Benchmark Results : Read"
uses: benchmark-action/github-action-benchmark@v1
with:
output-file-path: read_bandwidth/results.json
tool: 'customBiggerIsBetter'
alert-threshold: "120%"
max-items-in-chart: 50
github-token: ${{ secrets.GITHUB_TOKEN }}
fail-on-alert: true
auto-push: true
comment-on-alert: true
gh-pages-branch: benchmarks
benchmark-data-dir-path: benchmark/read/bandwidth
# -----------------------------------------------------------------------------------------------
# Run the benchmark script for write_bandwidth test
- name: "Run Benchmark Script : Write"
run: |
./scripts/fio_bench.sh ../blob_mnt write
env:
AZURE_STORAGE_ACCOUNT: ${{ secrets.BLOB_STORAGE_ACCOUNT }}
AZURE_STORAGE_ACCOUNT_CONTAINER: ${{ secrets.BLOB_STORAGE_CONTAINER }}
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.BLOB_STORAGE_KEY }}
# Print blobfuse2 logs
- name: "Print logs : Write"
run: cat ./blobfuse2.log
if: always()
# Print the results generated
- name: "Print latest results : Write"
run: cat ./write_bandwidth/results.json
if: always()
# Push the results and publish the graphs
- name: "Update Benchmark Results : Write"
uses: benchmark-action/github-action-benchmark@v1
with:
output-file-path: write_bandwidth/results.json
tool: 'customBiggerIsBetter'
alert-threshold: "120%"
max-items-in-chart: 50
github-token: ${{ secrets.GITHUB_TOKEN }}
fail-on-alert: true
auto-push: true
comment-on-alert: true
gh-pages-branch: benchmarks
benchmark-data-dir-path: benchmark/write/bandwidth
# -----------------------------------------------------------------------------------------------
# Run the benchmark script for write_bandwidth test
- name: "Run Benchmark Script : High Threads"
run: |
./scripts/fio_bench.sh ../blob_mnt multi
env:
AZURE_STORAGE_ACCOUNT: ${{ secrets.BLOB_STORAGE_ACCOUNT }}
AZURE_STORAGE_ACCOUNT_CONTAINER: ${{ secrets.BLOB_STORAGE_CONTAINER }}
AZURE_STORAGE_ACCESS_KEY: ${{ secrets.BLOB_STORAGE_KEY }}
# Print blobfuse2 logs
- name: "Print logs : High Threads"
run: cat ./blobfuse2.log
if: always()
# Print the results generated
- name: "Print latest results : High Threads"
run: cat ./multi_bandwidth/results.json
if: always()
# Push the results and publish the graphs
- name: "Update Benchmark Results : High Threads"
uses: benchmark-action/github-action-benchmark@v1
with:
output-file-path: multi_bandwidth/results.json
tool: 'customBiggerIsBetter'
alert-threshold: "120%"
max-items-in-chart: 50
github-token: ${{ secrets.GITHUB_TOKEN }}
fail-on-alert: true
auto-push: true
comment-on-alert: true
gh-pages-branch: benchmarks
benchmark-data-dir-path: benchmark/highthreads/bandwidth